<template>
    <header class="sticky top-0 z-20">
        <nav class="bg-white border-gray-200 border-b dark:bg-gray-900 dark:border-gray-800">
            <div class="max-w-screen-2xl flex flex-wrap items-center justify-between mx-auto p-4">
                <a @click="router.push('/')" class="flex items-center">
                    <img :src="blogSettingsStore.blogSettings.miniLogo" class="h-12 mr-2 md:hidden" alt="wjblog Logo" />
                    <span
                        class="self-center font-mono antialiased text-[14px] tracking-tight font-semibold whitespace-nowrap dark:text-white md:hidden">
                        <!-- {{ blogSettingsStore.blogSettings.blogName }} -->
                        博客
                    </span>
                    <img :src="blogSettingsStore.blogSettings.logo" class="hidden h-16 mr-3 md:inline"
                        alt="wjblog Logo" />
                </a>

                <div class="flex items-center md:order-2">
                    <!-- 白天黑夜切换 -->
                    <button class="ml-1 mr-4 vt-switch vt-switch-appearance" type="button" role="switch"
                        @click="toggleDark()" aria-label="切换深色模式" aria-checked="false" data-v-d401ce6f="">
                        <span class="vt-switch-check">
                            <span class="vt-switch-icon"><!--[-->
                                <!-- 太阳图标 -->
                                <svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"
                                    viewBox="0 0 24 24" class="vt-switch-appearance-sun">
                                    <path
                                        d="M12,18c-3.3,0-6-2.7-6-6s2.7-6,6-6s6,2.7,6,6S15.3,18,12,18zM12,8c-2.2,0-4,1.8-4,4c0,2.2,1.8,4,4,4c2.2,0,4-1.8,4-4C16,9.8,14.2,8,12,8z">
                                    </path>
                                    <path d="M12,4c-0.6,0-1-0.4-1-1V1c0-0.6,0.4-1,1-1s1,0.4,1,1v2C13,3.6,12.6,4,12,4z">
                                    </path>
                                    <path
                                        d="M12,24c-0.6,0-1-0.4-1-1v-2c0-0.6,0.4-1,1-1s1,0.4,1,1v2C13,23.6,12.6,24,12,24z">
                                    </path>
                                    <path
                                        d="M5.6,6.6c-0.3,0-0.5-0.1-0.7-0.3L3.5,4.9c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l1.4,1.4c0.4,0.4,0.4,1,0,1.4C6.2,6.5,5.9,6.6,5.6,6.6z">
                                    </path>
                                    <path
                                        d="M19.8,20.8c-0.3,0-0.5-0.1-0.7-0.3l-1.4-1.4c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l1.4,1.4c0.4,0.4,0.4,1,0,1.4C20.3,20.7,20,20.8,19.8,20.8z">
                                    </path>
                                    <path d="M3,13H1c-0.6,0-1-0.4-1-1s0.4-1,1-1h2c0.6,0,1,0.4,1,1S3.6,13,3,13z"></path>
                                    <path d="M23,13h-2c-0.6,0-1-0.4-1-1s0.4-1,1-1h2c0.6,0,1,0.4,1,1S23.6,13,23,13z">
                                    </path>
                                    <path
                                        d="M4.2,20.8c-0.3,0-0.5-0.1-0.7-0.3c-0.4-0.4-0.4-1,0-1.4l1.4-1.4c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-1.4,1.4C4.7,20.7,4.5,20.8,4.2,20.8z">
                                    </path>
                                    <path
                                        d="M18.4,6.6c-0.3,0-0.5-0.1-0.7-0.3c-0.4-0.4-0.4-1,0-1.4l1.4-1.4c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-1.4,1.4C18.9,6.5,18.6,6.6,18.4,6.6z">
                                    </path>
                                </svg>
                                <!-- 黑夜图标 -->
                                <svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"
                                    viewBox="0 0 24 24" class="vt-switch-appearance-moon">
                                    <path
                                        d="M12.1,22c-0.3,0-0.6,0-0.9,0c-5.5-0.5-9.5-5.4-9-10.9c0.4-4.8,4.2-8.6,9-9c0.4,0,0.8,0.2,1,0.5c0.2,0.3,0.2,0.8-0.1,1.1c-2,2.7-1.4,6.4,1.3,8.4c2.1,1.6,5,1.6,7.1,0c0.3-0.2,0.7-0.3,1.1-0.1c0.3,0.2,0.5,0.6,0.5,1c-0.2,2.7-1.5,5.1-3.6,6.8C16.6,21.2,14.4,22,12.1,22zM9.3,4.4c-2.9,1-5,3.6-5.2,6.8c-0.4,4.4,2.8,8.3,7.2,8.7c2.1,0.2,4.2-0.4,5.8-1.8c1.1-0.9,1.9-2.1,2.4-3.4c-2.5,0.9-5.3,0.5-7.5-1.1C9.2,11.4,8.1,7.7,9.3,4.4z">
                                    </path>
                                </svg><!--]-->
                            </span>
                        </span>
                    </button>
                    <button type="button" data-collapse-toggle="navbar-search" aria-controls="navbar-search"
                        aria-expanded="false"
                        class="md:hidden text-gray-500 dark:text-gray-400 hover:bg-gray-100 dark:hover:bg-gray-700 focus:outline-none focus:ring-4 focus:ring-gray-200 dark:focus:ring-gray-700 rounded-lg text-sm p-2.5 mr-1">
                        <svg class="w-5 h-5" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" fill="none"
                            viewBox="0 0 20 20">
                            <path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
                                d="m19 19-4-4m0-7A7 7 0 1 1 1 8a7 7 0 0 1 14 0Z" />
                        </svg>
                        <span class="sr-only">Search</span>
                    </button>
                    <!-- 搜索框 -->
                    <button type="button" @click="clickSearchBtn"
                        class="mr-2 hidden outline-none md:flex items-center text-sm leading-6 text-slate-400 rounded-md ring-1 ring-slate-900/10 shadow-sm py-1.5 pl-2 pr-3 hover:ring-slate-300 dark:bg-slate-800 dark:highlight-white/5 dark:hover:bg-slate-700 dark:hover:ring-slate-700">
                        <svg class="w-3.5 h-3.5 mr-2 text-gray-500 dark:text-gray-400" aria-hidden="true"
                            xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 20 20">
                            <path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
                                d="m19 19-4-4m0-7A7 7 0 1 1 1 8a7 7 0 0 1 14 0Z" />
                        </svg>
                        <span class="mr-3">在本站搜索文章 ...</span>
                        <span
                            class="px-2 py-[1px] flex-none text-xs border text-gray-400 rounded dark:border-gray-600">Ctrl
                            K</span>
                    </button>

                    <!-- 登录 -->
                    <!-- <div class="text-gray-900 ml-1 mr-1 hover:text-sky-700 dark:text-white dark:hover:text-sky-500"
                        v-if="!isLogined" @click="$router.push('/login')">登录</div> -->
                    <div class="text-gray-900 ml-1 mr-1 hover:text-sky-700 dark:text-white dark:hover:text-sky-500"
                        v-if="!isLogined" @click="clickUserLoginBtn">登录</div>
                    <div class="text-gray-900 ml-1 mr-1 hover:text-sky-700 dark:text-white dark:hover:text-sky-500"
                        v-if="!isLogined" @click="clickUserRegisterBtn">注册</div>
                    <!-- 已经登录，展示用户头像 -->
                    <el-dropdown v-else size="large" placement="bottom">
                        <button
                            class="text-white ml-2 mr-2 md:mr-0 focus:ring-4 focus:ring-blue-300 font-medium rounded-full text-sm text-center inline-flex items-center dark:hover:bg-blue-700 dark:focus:ring-blue-800"
                            type="button">
                            <!-- 用户登录头像 -->
                            <img class="w-12 h-12 rounded-full border dark:border-gray-300"
                                :src="userStore.userInfo.avatar" alt="user photo">
                        </button>
                        <template #dropdown>
                            <el-dropdown-menu>
                                <el-dropdown-item>
                                    <a @click="router.push('/user/person/' + userStore.userInfo.userId)"
                                        class="block">
                                        <svg t="1734509170737"
                                            class="inline w-4 h-4 mb-[2px] mr-1 text-gray-800 dark:text-white"
                                            viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"
                                            p-id="10084" width="200" height="200" :fill="isDark ? 'white' : 'black'">
                                            <path
                                                d="M466.7 541.2c45.1-36 74.1-91.5 74.1-153.6 0-108.3-88.1-196.5-196.5-196.5s-196.5 88.1-196.5 196.5c0 62.1 29 117.6 74.1 153.6-27.3 13.8-52.6 32.4-74.7 55.3-52.2 54.1-81 125.9-81 202.2 0 19.9 16.1 36 36 36s36-16.1 36-36c0-118.4 92.5-214.6 206.1-214.6s206.1 96.3 206.1 214.6c0 19.9 16.1 36 36 36s36-16.1 36-36c0-76.3-28.8-148.2-81-202.2-22.2-22.9-47.4-41.4-74.7-55.3zM219.8 387.6c0-68.6 55.8-124.5 124.5-124.5S468.7 319 468.7 387.6s-55.8 124.5-124.5 124.5-124.4-55.8-124.4-124.5zM910 192H576.1c-19.9 0-36 16.1-36 36s16.1 36 36 36h310.5v501.5H706.7c-19.9 0-36 16.1-36 36s16.1 36 36 36H910c26.8 0 48.6-21.5 48.6-48V240c0-26.4-21.8-48-48.6-48z"
                                                p-id="10085"></path>
                                            <path
                                                d="M625.6 395.6h184.3c19.9 0 36-16.1 36-36s-16.1-36-36-36H625.6c-19.9 0-36 16.1-36 36s16.1 36 36 36zM845.9 499.7c0-19.9-16.1-36-36-36H625.6c-19.9 0-36 16.1-36 36s16.1 36 36 36h184.3c19.9 0 36-16.2 36-36zM809.9 676c19.9 0 36-16.1 36-36s-16.1-36-36-36H677.4c-19.9 0-36 16.1-36 36s16.1 36 36 36h132.5z"
                                                p-id="10086"></path>
                                        </svg>
                                        个人主页
                                    </a>
                                </el-dropdown-item>
                                <el-dropdown-item>
                                    <a @click="router.push('/safeguard/user/person/center')"
                                        class="block">
                                        <svg t="1734508828000"
                                            class="inline w-4 h-4 mb-[2px] mr-1 text-gray-800 dark:text-white"
                                            aria-hidden="true" viewBox="0 0 1024 1024" version="1.1"
                                            xmlns="http://www.w3.org/2000/svg" :fill="isDark ? 'white' : 'black'"
                                            p-id="4337" width="200" height="200">
                                            <path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"
                                                stroke-width="2"
                                                d="M866.975 810.54h39.55c29.45 0 53.325 23.874 53.325 53.325v95.985H661.23v-95.985c0-29.45 23.874-53.325 53.325-53.325h39.55c-17.713-15.634-28.885-38.507-28.885-63.99 0-47.12 38.2-85.32 85.32-85.32h85.32v85.32c0 25.483-11.172 48.356-28.885 63.99z m-35.105-85.32h-21.33c-11.78 0-21.33 9.55-21.33 21.33 0 11.78 9.55 21.33 21.33 21.33 11.78 0 21.33-9.55 21.33-21.33v-21.33zM725.22 874.53v21.33h170.64v-21.33H725.22z m-127.98 20.36H346.23a95.985 95.985 0 0 1-83.126-47.993L97.414 559.912a95.985 95.985 0 0 1 0-95.985l165.69-286.984a95.985 95.985 0 0 1 83.126-47.992h331.38a95.985 95.985 0 0 1 83.126 47.992l165.69 286.984a95.985 95.985 0 0 1 0 95.986l-21.55 37.327h-73.89l40.023-69.322a31.995 31.995 0 0 0 0-31.995L705.32 208.938a31.995 31.995 0 0 0-27.709-15.997H346.23a31.995 31.995 0 0 0-27.709 15.997l-165.69 286.985a31.995 31.995 0 0 0 0 31.995l165.69 286.984a31.995 31.995 0 0 0 27.709 15.997h251.01v63.99z m-85.32-532.28c82.462 0 149.31 66.848 149.31 149.31s-66.848 149.31-149.31 149.31-149.31-66.848-149.31-149.31 66.848-149.31 149.31-149.31z m0 63.99c-47.12 0-85.32 38.2-85.32 85.32 0 47.12 38.2 85.32 85.32 85.32 47.12 0 85.32-38.2 85.32-85.32 0-47.12-38.2-85.32-85.32-85.32z"
                                                p-id="4338"></path>
                                        </svg>
                                        个人设置
                                    </a>
                                </el-dropdown-item>
                                <el-dropdown-item v-if="userStore && userStore.userInfo.isAdmin">
                                    <a @click="router.push('/admin/index')"
                                        class="block">
                                        <svg class="inline w-4 h-4 mb-[2px] mr-1 text-gray-800 dark:text-white"
                                            aria-hidden="true" xmlns="http://www.w3.org/2000/svg" fill="none"
                                            viewBox="0 0 24 24">
                                            <path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"
                                                stroke-width="2"
                                                d="M14 17h6m-3 3v-6M4.857 4h4.286c.473 0 .857.384.857.857v4.286a.857.857 0 0 1-.857.857H4.857A.857.857 0 0 1 4 9.143V4.857C4 4.384 4.384 4 4.857 4Zm10 0h4.286c.473 0 .857.384.857.857v4.286a.857.857 0 0 1-.857.857h-4.286A.857.857 0 0 1 14 9.143V4.857c0-.473.384-.857.857-.857Zm-10 10h4.286c.473 0 .857.384.857.857v4.286a.857.857 0 0 1-.857.857H4.857A.857.857 0 0 1 4 19.143v-4.286c0-.473.384-.857.857-.857Z" />
                                        </svg>
                                        进入后台
                                    </a>
                                </el-dropdown-item>
                                <el-dropdown-item>
                                    <a data-modal-target="popup-modal" data-modal-toggle="popup-modal"
                                        @click="clickExitLoginBtn"
                                        class="block">
                                        <svg class="inline w-4 h-4 mb-[2px] mr-1 text-gray-800 dark:text-white"
                                            aria-hidden="true" xmlns="http://www.w3.org/2000/svg" fill="none"
                                            viewBox="0 0 24 24">
                                            <path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"
                                                stroke-width="2"
                                                d="M20 12H8m12 0-4 4m4-4-4-4M9 4H7a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h2" />
                                        </svg>
                                        退出登录
                                    </a>
                                </el-dropdown-item>
                            </el-dropdown-menu>
                        </template>
                    </el-dropdown>
                    <span
                        class="hidden self-center text-lg font-semibold whitespace-nowrap dark:text-gray-300 pl-2 md:inline">
                        {{ userStore.userInfo.nickname }}
                    </span>

                    <button data-collapse-toggle="navbar-search" type="button"
                        class="inline-flex items-center p-2 w-10 h-10 justify-center text-sm text-gray-500 rounded-lg md:hidden hover:bg-gray-100 focus:outline-none focus:ring-2 focus:ring-gray-200 dark:text-gray-400 dark:hover:bg-gray-700 dark:focus:ring-gray-600"
                        aria-controls="navbar-search" aria-expanded="false">
                        <span class="sr-only">Open main menu</span>
                        <svg class="w-5 h-5" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" fill="none"
                            viewBox="0 0 17 14">
                            <path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
                                d="M1 1h15M1 7h15M1 13h15" />
                        </svg>
                    </button>
                </div>
                <div class="items-center justify-between hidden w-full md:flex md:w-auto md:order-1" id="navbar-search">
                    <div class="relative mt-3 md:hidden">
                        <!-- 搜索框 -->
                        <button type="button" @click="clickSearchBtn" class="relative mt-3 flex w-full md:hidden items-center text-sm leading-6 text-slate-400 rounded-md
                         ring-1 ring-slate-900/10 shadow-sm py-1.5 pl-2 pr-3 hover:ring-slate-300 dark:bg-slate-800 
                         dark:highlight-white/5 dark:hover:bg-slate-700 dark:hover:ring-slate-700">
                            <svg class="w-3.5 h-3.5 mr-2 text-gray-500 dark:text-gray-400" aria-hidden="true"
                                xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 20 20">
                                <path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"
                                    stroke-width="2" d="m19 19-4-4m0-7A7 7 0 1 1 1 8a7 7 0 0 1 14 0Z" />
                            </svg>
                            <span class="mr-3 grow text-left">搜索文章 ...</span>
                            <span class="px-2 py-[1px] flex-none text-xs border text-gray-400 rounded">Ctrl K</span>
                        </button>
                    </div>
                    <ul
                        class="flex flex-col p-4 md:p-0 mt-4 font-medium border border-gray-100 rounded-lg bg-gray-50 md:flex-row md:space-x-8 md:mt-0 md:border-0 md:bg-white dark:bg-gray-800 md:dark:bg-gray-900 dark:border-gray-700">
                        <li>
                            <a @click="router.push('/')"
                                :class="[currPath == '/' || currPath.startsWith('/index') ? 'text-sky-600 md:border-b-2 md:border-sky-600 dark:text-sky-500 dark:md:border-sky-600' : 'text-gray-900']"
                                class="block py-2 pl-3 pr-4 rounded hover:bg-gray-100 md:hover:bg-transparent md:hover:text-sky-600 md:p-0 md:dark:hover:text-blue-500 dark:text-white dark:hover:bg-gray-700 dark:hover:text-white md:dark:hover:bg-transparent dark:border-gray-700"
                                aria-current="page">首页</a>
                        </li>
                        <li>
                            <a @click="router.push('/category/list')"
                                class="block py-2 pl-3 pr-4 rounded hover:bg-gray-100 md:hover:bg-transparent md:hover:text-sky-600 md:p-0 md:dark:hover:text-blue-500 dark:text-white dark:hover:bg-gray-700 dark:hover:text-white md:dark:hover:bg-transparent dark:border-gray-700"
                                :class="[currPath.startsWith('/category') ? 'text-sky-600 md:border-b-2 md:border-sky-600 dark:text-sky-500 dark:md:border-sky-600' : 'text-gray-900']">
                                分类
                            </a>
                        </li>
                        <li>
                            <a @click="router.push('/tag/list')"
                                class="block py-2 pl-3 pr-4 rounded hover:bg-gray-100 md:hover:bg-transparent md:hover:text-sky-600 md:p-0 dark:text-white md:dark:hover:text-blue-500 dark:hover:bg-gray-700 dark:hover:text-white md:dark:hover:bg-transparent dark:border-gray-700"
                                :class="[currPath.startsWith('/tag') ? 'text-sky-600 md:border-b-2 md:border-sky-600 dark:text-sky-500 dark:md:border-sky-600' : 'text-gray-900']">
                                标签
                            </a>
                        </li>
                        <li>
                            <a @click="router.push('/archive/list')"
                                :class="[currPath.startsWith('/archive') ? 'text-sky-600 md:border-b-2 md:border-sky-600 dark:text-sky-500 dark:md:border-sky-600' : 'text-gray-900']"
                                class="block py-2 pl-3 pr-4 rounded hover:bg-gray-100 md:hover:bg-transparent md:hover:text-sky-600 md:p-0 dark:text-white md:dark:hover:text-blue-500 dark:hover:bg-gray-700 dark:hover:text-white md:dark:hover:bg-transparent dark:border-gray-700">归档</a>
                        </li>
                        <li>
                            <a @click="router.push('/wiki/list')"
                                :class="[currPath.startsWith('/wiki') ? 'text-sky-600 md:border-b-2 md:border-sky-600 dark:text-sky-500 dark:md:border-sky-600' : 'text-gray-900']"
                                class="block py-2 pl-3 pr-4 rounded hover:bg-gray-100 md:hover:bg-transparent md:hover:text-sky-600 md:p-0 dark:text-white md:dark:hover:text-blue-500 dark:hover:bg-gray-700 dark:hover:text-white md:dark:hover:bg-transparent dark:border-gray-700">知识库</a>
                        </li>
                    </ul>
                </div>
            </div>
        </nav>
    </header>


    <!-- 退出登录 -->
    <div id="popup-modal" tabindex="-1"
        class="fixed top-0 left-0 right-0 z-50 hidden p-4 overflow-x-hidden overflow-y-auto md:inset-0 h-[calc(100%-1rem)] max-h-full">
        <div class="relative w-full max-w-md max-h-full">
            <div class="relative bg-white rounded-lg shadow dark:bg-gray-700">
                <button type="button" @click="exitLoginModal.hide()"
                    class="absolute top-3 right-2.5 text-gray-400 bg-transparent hover:bg-gray-200 hover:text-gray-900 rounded-lg text-sm w-8 h-8 ml-auto inline-flex justify-center items-center dark:hover:bg-gray-600 dark:hover:text-white"
                    data-modal-hide="popup-modal">
                    <svg class="w-3 h-3" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" fill="none"
                        viewBox="0 0 14 14">
                        <path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
                            d="m1 1 6 6m0 0 6 6M7 7l6-6M7 7l-6 6" />
                    </svg>
                    <span class="sr-only">Close modal</span>
                </button>
                <div class="p-6 text-center">
                    <svg t="1730203214860" class="icon mx-auto mb-4 text-gray-400 w-12 h-12  dark:text-gray-200"
                        aria-hidden="true" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"
                        p-id="33722" width="200" height="200">
                        <path
                            d="M1023.910943 511.999898c5.11911 317.794367-194.116663 516.825376-511.91103 511.911029-317.794367 4.914346-516.825376-194.116663-511.91103-511.911029C-4.825463 194.20553 194.205546-4.825478 511.999913 0.088868c317.794367-4.914346 516.825376 194.116663 511.91103 511.91103z"
                            fill="#FF866E" p-id="33723"></path>
                        <path
                            d="M1022.477592 566.671996C1006.915497 340.40732 852.318366 201.16752 614.382119 204.85328c-254.112635-4.095288-413.624112 155.416189-409.528824 409.528824-3.890524 237.936247 135.554041 392.533378 361.613952 408.095473 268.036615-16.381153 439.629192-187.97373 456.010345-455.805581z"
                            fill="#FF7F61" p-id="33724"></path>
                        <path
                            d="M1015.515602 629.944199C985.824762 491.523456 876.480566 407.160519 716.764325 409.617692c-190.635668-3.071466-310.218084 116.51095-307.146618 307.146618-2.457173 159.716241 81.905765 269.060437 220.121743 298.751277 211.112109-34.400421 351.375731-174.664043 385.776152-385.571388z"
                            fill="#FF734D" p-id="33725"></path>
                        <path
                            d="M997.701098 705.707031C964.734028 646.734881 902.076118 613.153517 819.146531 614.382104c-127.1587-2.047644-206.812056 77.605712-204.764412 204.764412-1.433351 82.929587 32.352777 145.587497 91.120163 178.554567a431.233852 431.233852 0 0 0 292.198816-291.994052z"
                            fill="#FF6A36" p-id="33726"></path>
                        <path
                            d="M511.999913 511.999898m-327.623059 0a327.623059 327.623059 0 1 0 655.246118 0 327.623059 327.623059 0 1 0-655.246118 0Z"
                            fill="#FFCBBD" p-id="33727"></path>
                        <path
                            d="M573.429237 344.09308c0 20.476441-23.547907 133.506397-40.952883 216.231219a20.476441 20.476441 0 0 1-40.952882 0c-18.019268-81.905765-40.952882-195.345249-40.952883-216.231219a61.429324 61.429324 0 1 1 122.858648 0z"
                            fill="#FFFFFF" p-id="33728"></path>
                        <path
                            d="M511.999913 679.906715m-61.429324 0a61.429324 61.429324 0 1 0 122.858648 0 61.429324 61.429324 0 1 0-122.858648 0Z"
                            fill="#FFFFFF" p-id="33729"></path>
                    </svg>
                    <h3 class="mb-5 text-lg font-normal text-gray-500 dark:text-gray-400">是否确定退出登录?
                    </h3>
                    <button data-modal-hide="popup-modal" type="button" @click="confirmExitLogin"
                        class="text-white bg-orange-400 hover:bg-orange-600 focus:ring-4 focus:outline-none focus:ring-orange-300 dark:focus:ring-orange-600 font-medium rounded-lg text-sm inline-flex items-center px-5 py-2.5 text-center mr-2">
                        确定
                    </button>
                    <button data-modal-hide="popup-modal" type="button" @click="exitLoginModal.hide()"
                        class="text-gray-500 bg-white hover:bg-gray-100 focus:ring-4 focus:outline-none focus:ring-gray-200 rounded-lg border border-gray-200 text-sm font-medium px-5 py-2.5 hover:text-gray-900 focus:z-10 dark:bg-gray-700 dark:text-gray-300 dark:border-gray-500 dark:hover:text-white dark:hover:bg-gray-600 dark:focus:ring-gray-600">
                        取消</button>
                </div>
            </div>
        </div>
    </div>

    <!-- 站内搜索 -->
    <div id="search-modal" tabindex="-1" aria-hidden="true"
        class="hidden overflow-y-auto overflow-x-hidden fixed top-0 right-0 left-0 z-50 justify-center items-center w-full md:inset-0 h-[calc(100%-1rem)] max-h-full">
        <div class="relative p-4 w-full max-w-2xl max-h-full">
            <!-- Modal content -->
            <div class="relative bg-white rounded-lg shadow dark:bg-gray-700">
                <!-- Modal header -->
                <div class="flex items-center justify-between p-4 md:p-5 border-b rounded-t dark:border-gray-600">
                    <form class="w-full mr-2">
                        <label for="search"
                            class="mb-2 text-sm font-medium text-gray-900 sr-only dark:text-white">Search</label>
                        <div class="relative">
                            <div class="absolute inset-y-0 start-0 flex items-center ps-3 pointer-events-none">
                                <div v-if="searchLoading" role="status">
                                    <svg aria-hidden="true"
                                        class="w-4 h-4 text-gray-200 animate-spin dark:text-gray-600 fill-blue-600"
                                        viewBox="0 0 100 101" fill="none" xmlns="http://www.w3.org/2000/svg">
                                        <path
                                            d="M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z"
                                            fill="currentColor" />
                                        <path
                                            d="M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z"
                                            fill="currentFill" />
                                    </svg>
                                    <span class="sr-only">Loading...</span>
                                </div>
                                <svg v-else class="w-4 h-4 text-gray-500 dark:text-gray-400" aria-hidden="true"
                                    xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 20 20">
                                    <path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"
                                        stroke-width="2" d="m19 19-4-4m0-7A7 7 0 1 1 1 8a7 7 0 0 1 14 0Z" />
                                </svg>
                            </div>
                            <input type="search" id="search" ref="searchInputRef" v-model="searchWord"
                                class="block w-full p-4 ps-10 text-sm text-gray-900 border border-gray-300 rounded-lg bg-gray-50 focus:ring-sky-500 focus:border-sky-500 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-sky-600 dark:focus:border-sky-600"
                                placeholder="全站检索博客与文章,请输入关键词(基于标题、摘要、时间等)..." required />
                        </div>
                    </form>
                    <button type="button" @click="searchModal.hide()"
                        class="text-gray-400 bg-transparent hover:bg-gray-200 hover:text-gray-900 rounded-lg text-sm w-8 h-8 ms-auto inline-flex justify-center items-center dark:hover:bg-gray-600 dark:hover:text-white">
                        <svg class="w-3 h-3" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" fill="none"
                            viewBox="0 0 14 14">
                            <path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
                                d="m1 1 6 6m0 0 6 6M7 7l6-6M7 7l-6 6" />
                        </svg>
                        <span class="sr-only">Close modal</span>
                    </button>
                </div>

                <!-- Modal body -->
                <div class="p-4 md:p-5 space-y-4" v-if="searchArticles && searchArticles.length > 0">
                    <p class="text-base leading-relaxed text-gray-500 dark:text-gray-400">
                        共搜索到 {{ total }} 篇相关文章
                    </p>
                    <ol v-for="(article, index) in searchArticles" :key="index"
                        class="mt-3 divide-y divider-gray-200 dark:divide-gray-700">
                        <li><a @click="goArticleDetail(article.id)"
                                class="items-center block p-3 sm:flex hover:bg-gray-100 hover:rounded-lg dark:hover:bg-gray-700">
                                <img class="w-24 h-12 mb-3 mr-3 rounded-lg sm:mb-0" :src="article.cover">
                                <div class="text-gray-600 dark:text-gray-400">
                                    <div class="text-base font-normal text-gray-900 dark:text-white"
                                        v-html="article.title"></div>
                                    <span
                                        class="inline-flex items-center text-xs font-normal text-gray-500 dark:text-gray-400">
                                        <svg class="inline w-2.5 h-2.5 mr-2 text-gray-400 dark:text-white"
                                            aria-hidden="true" xmlns="http://www.w3.org/2000/svg" fill="none"
                                            viewBox="0 0 20 20">
                                            <path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"
                                                stroke-width="2"
                                                d="M5 1v3m5-3v3m5-3v3M1 7h18M5 11h10M2 3h16a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1Z">
                                            </path>
                                        </svg>
                                        {{ article.createDate }}
                                    </span>
                                </div>
                            </a>
                        </li>
                    </ol>
                    <!-- 分页 -->
                    <div class="flex mt-7">
                        <a v-if="current > 1" @click="prePage"
                            class="flex items-center justify-center px-3 h-8 me-3 text-xs font-medium text-gray-500 bg-white border border-gray-300 rounded-lg hover:bg-gray-100 hover:text-gray-700 dark:bg-gray-800 dark:border-gray-900 dark:text-gray-400 dark:hover:bg-gray-900 dark:hover:text-white">
                            <svg class="w-3 h-3 rtl:rotate-180" aria-hidden="true" xmlns="http://www.w3.org/2000/svg"
                                fill="none" viewBox="0 0 14 10">
                                <path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"
                                    stroke-width="2" d="M13 5H1m0 0 4 4M1 5l4-4" />
                            </svg>
                            <span>上一页</span>
                        </a>

                        <a v-if="current < pages" @click="nextPage"
                            class="flex ml-auto items-center justify-center px-3 h-8 text-xs font-medium text-gray-500 bg-white border border-gray-300 rounded-lg hover:bg-gray-100 hover:text-gray-700 dark:bg-gray-800 dark:border-gray-900 dark:text-gray-400 dark:hover:bg-gray-900 dark:hover:text-white">
                            <svg class="w-3 h-3 rtl:rotate-180" aria-hidden="true" xmlns="http://www.w3.org/2000/svg"
                                fill="none" viewBox="0 0 14 10">
                                <path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"
                                    stroke-width="2" d="M1 5h12m0 0L9 1m4 4L9 9" />
                            </svg>
                            <span>下一页</span>
                        </a>
                    </div>
                </div>
                <div v-else class="flex items-center justify-center flex-col mb-10">
                    <svg class="w-80 h-80" height="1024" node-id="1" sillyvg="true" template-height="1024"
                        template-width="1024" version="1.1" viewBox="0 0 1024 1024" width="1024"
                        xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
                        <defs node-id="110">
                            <linearGradient gradientUnits="objectBoundingBox" id="未命名的渐变_30" node-id="5"
                                spreadMethod="pad" x1="212.14" x2="212.78" y1="933.32" y2="933.35">
                                <stop offset="0" stop-color="#98d6fa" />
                                <stop offset="1" stop-color="#47b0f1" />
                            </linearGradient>
                            <linearGradient gradientUnits="objectBoundingBox" id="未命名的渐变_30-2" node-id="8"
                                spreadMethod="pad" x1="212.14" x2="212.78" y1="933.32" y2="933.35">
                                <stop offset="0" stop-color="#98d6fa" />
                                <stop offset="1" stop-color="#47b0f1" />
                            </linearGradient>
                            <linearGradient gradientUnits="objectBoundingBox" id="未命名的渐变_3" node-id="9"
                                spreadMethod="pad" x1="213.77" x2="214.77" y1="931.76" y2="931.76">
                                <stop offset="0" stop-color="#fff5de" />
                                <stop offset="1" stop-color="#fbd2ac" />
                            </linearGradient>
                            <linearGradient gradientUnits="objectBoundingBox" id="未命名的渐变_30-3" node-id="12"
                                spreadMethod="pad" x1="211.01" x2="211.64" y1="934.89" y2="934.91">
                                <stop offset="0" stop-color="#98d6fa" />
                                <stop offset="1" stop-color="#47b0f1" />
                            </linearGradient>
                            <linearGradient gradientUnits="objectBoundingBox" id="未命名的渐变_30-4" node-id="13"
                                spreadMethod="pad" x1="209.74" x2="210.38" y1="936.45" y2="936.47">
                                <stop offset="0" stop-color="#98d6fa" />
                                <stop offset="1" stop-color="#47b0f1" />
                            </linearGradient>
                            <linearGradient gradientUnits="objectBoundingBox" id="未命名的渐变_30-5" node-id="14"
                                spreadMethod="pad" x1="209.74" x2="210.38" y1="936.45" y2="936.47">
                                <stop offset="0" stop-color="#98d6fa" />
                                <stop offset="1" stop-color="#47b0f1" />
                            </linearGradient>
                            <linearGradient gradientUnits="objectBoundingBox" id="未命名的渐变_30-6" node-id="15"
                                spreadMethod="pad" x1="207.92" x2="208.55" y1="938.7" y2="938.72">
                                <stop offset="0" stop-color="#98d6fa" />
                                <stop offset="1" stop-color="#47b0f1" />
                            </linearGradient>
                            <linearGradient gradientUnits="objectBoundingBox" id="未命名的渐变_30-7" node-id="16"
                                spreadMethod="pad" x1="213.04" x2="213.68" y1="931.65" y2="931.72">
                                <stop offset="0" stop-color="#98d6fa" />
                                <stop offset="1" stop-color="#47b0f1" />
                            </linearGradient>
                            <linearGradient gradientUnits="objectBoundingBox" id="未命名的渐变_13" node-id="17"
                                spreadMethod="pad" x1="213.03" x2="213.21" y1="932.64" y2="932.57">
                                <stop offset="0.03" stop-color="#afdef9" />
                                <stop offset="1" stop-color="#7cc9f9" />
                            </linearGradient>
                            <linearGradient gradientUnits="objectBoundingBox" id="未命名的渐变_30-8" node-id="20"
                                spreadMethod="pad" x1="213.04" x2="213.58" y1="931.63" y2="931.87">
                                <stop offset="0" stop-color="#98d6fa" />
                                <stop offset="1" stop-color="#47b0f1" />
                            </linearGradient>
                            <linearGradient gradientUnits="objectBoundingBox" id="未命名的渐变_13-2" node-id="21"
                                spreadMethod="pad" x1="212.15" x2="212.28" y1="932.39" y2="932.32">
                                <stop offset="0.03" stop-color="#afdef9" />
                                <stop offset="1" stop-color="#7cc9f9" />
                            </linearGradient>
                            <linearGradient gradientUnits="objectBoundingBox" id="未命名的渐变_30-9" node-id="22"
                                spreadMethod="pad" x1="212.43" x2="212.65" y1="931.36" y2="931.93">
                                <stop offset="0" stop-color="#98d6fa" />
                                <stop offset="1" stop-color="#47b0f1" />
                            </linearGradient>
                            <linearGradient gradientUnits="objectBoundingBox" id="未命名的渐变_13-3" node-id="23"
                                spreadMethod="pad" x1="211.26" x2="211.43" y1="931.99" y2="931.92">
                                <stop offset="0.03" stop-color="#afdef9" />
                                <stop offset="1" stop-color="#7cc9f9" />
                            </linearGradient>
                            <linearGradient gradientUnits="objectBoundingBox" id="未命名的渐变_30-10" node-id="24"
                                spreadMethod="pad" x1="209.44" x2="209.04" y1="933.56" y2="934.33">
                                <stop offset="0" stop-color="#98d6fa" />
                                <stop offset="1" stop-color="#47b0f1" />
                            </linearGradient>
                            <linearGradient gradientUnits="objectBoundingBox" id="未命名的渐变_30-11" node-id="25"
                                spreadMethod="pad" x1="208.91" x2="209.47" y1="932.9" y2="933.41">
                                <stop offset="0" stop-color="#98d6fa" />
                                <stop offset="1" stop-color="#47b0f1" />
                            </linearGradient>
                            <linearGradient gradientUnits="objectBoundingBox" id="未命名的渐变_30-12" node-id="26"
                                spreadMethod="pad" x1="209.46" x2="210.31" y1="933.63" y2="933.93">
                                <stop offset="0" stop-color="#98d6fa" />
                                <stop offset="1" stop-color="#47b0f1" />
                            </linearGradient>
                            <linearGradient gradientUnits="objectBoundingBox" id="未命名的渐变_30-13" node-id="27"
                                spreadMethod="pad" x1="210.5" x2="211.35" y1="933.26" y2="933.52">
                                <stop offset="0" stop-color="#98d6fa" />
                                <stop offset="1" stop-color="#47b0f1" />
                            </linearGradient>
                            <linearGradient gradientUnits="objectBoundingBox" id="未命名的渐变_30-14" node-id="28"
                                spreadMethod="pad" x1="208.38" x2="209.23" y1="934.55" y2="934.8">
                                <stop offset="0" stop-color="#98d6fa" />
                                <stop offset="1" stop-color="#47b0f1" />
                            </linearGradient>
                            <linearGradient gradientUnits="objectBoundingBox" id="未命名的渐变_30-15" node-id="29"
                                spreadMethod="pad" x1="213.01" x2="213.18" y1="932.36" y2="932.93">
                                <stop offset="0" stop-color="#98d6fa" />
                                <stop offset="1" stop-color="#47b0f1" />
                            </linearGradient>
                            <linearGradient gradientUnits="objectBoundingBox" id="未命名的渐变_30-16" node-id="30"
                                spreadMethod="pad" x1="212.94" x2="213.98" y1="931.12" y2="931.69">
                                <stop offset="0" stop-color="#98d6fa" />
                                <stop offset="1" stop-color="#47b0f1" />
                            </linearGradient>
                            <linearGradient gradientUnits="objectBoundingBox" id="未命名的渐变_30-17" node-id="31"
                                spreadMethod="pad" x1="210.91" x2="211.31" y1="927.53" y2="928.1">
                                <stop offset="0" stop-color="#98d6fa" />
                                <stop offset="1" stop-color="#47b0f1" />
                            </linearGradient>
                            <linearGradient gradientUnits="objectBoundingBox" id="未命名的渐变_30-18" node-id="32"
                                spreadMethod="pad" x1="205.85" x2="206.25" y1="928.92" y2="929.48">
                                <stop offset="0" stop-color="#98d6fa" />
                                <stop offset="1" stop-color="#47b0f1" />
                            </linearGradient>
                            <linearGradient gradientUnits="objectBoundingBox" id="未命名的渐变_23" node-id="33"
                                spreadMethod="pad" x1="214.79" x2="215.79" y1="932.46" y2="932.46">
                                <stop offset="0" stop-color="#f5dda7" />
                                <stop offset="1" stop-color="#fa9a41" />
                            </linearGradient>
                            <linearGradient gradientUnits="objectBoundingBox" id="未命名的渐变_25" node-id="36"
                                spreadMethod="pad" x1="212.68" x2="211.75" y1="932.06" y2="932.5">
                                <stop offset="0" stop-color="#1d181c" />
                                <stop offset="0.3" stop-color="#2c2422" />
                                <stop offset="0.5" stop-color="#42352c" />
                                <stop offset="0.7" stop-color="#57352c" />
                                <stop offset="1" stop-color="#923629" />
                            </linearGradient>
                            <linearGradient gradientUnits="objectBoundingBox" id="未命名的渐变_25-2" node-id="42"
                                spreadMethod="pad" x1="209.23" x2="209.16" y1="932.01" y2="932.45">
                                <stop offset="0" stop-color="#1d181c" />
                                <stop offset="0.3" stop-color="#2c2422" />
                                <stop offset="0.5" stop-color="#42352c" />
                                <stop offset="0.7" stop-color="#57352c" />
                                <stop offset="1" stop-color="#923629" />
                            </linearGradient>
                            <linearGradient gradientUnits="objectBoundingBox" id="未命名的渐变_27" node-id="43"
                                spreadMethod="pad" x1="209.59" x2="208.59" y1="932.2" y2="932.2">
                                <stop offset="0" stop-color="#ffb859" />
                                <stop offset="1" stop-color="#f97b61" />
                            </linearGradient>
                            <linearGradient gradientUnits="objectBoundingBox" id="未命名的渐变_27-2" node-id="46"
                                spreadMethod="pad" x1="212.37" x2="211.38" y1="932.15" y2="932.15">
                                <stop offset="0" stop-color="#ffb859" />
                                <stop offset="1" stop-color="#f97b61" />
                            </linearGradient>
                            <linearGradient gradientUnits="objectBoundingBox" id="未命名的渐变_30-19" node-id="47"
                                spreadMethod="pad" x1="197.38" x2="197.47" y1="933.09" y2="933.65">
                                <stop offset="0" stop-color="#98d6fa" />
                                <stop offset="1" stop-color="#47b0f1" />
                            </linearGradient>
                            <linearGradient gradientUnits="objectBoundingBox" id="未命名的渐变_29" node-id="48"
                                spreadMethod="pad" x1="210.6" x2="211.06" y1="932.56" y2="932.65">
                                <stop offset="0" stop-color="#f97b61" />
                                <stop offset="1" stop-color="#ffb859" />
                            </linearGradient>
                            <linearGradient gradientUnits="objectBoundingBox" id="未命名的渐变_30-20" node-id="51"
                                spreadMethod="pad" x1="219.13" x2="220.17" y1="933.41" y2="933.9">
                                <stop offset="0" stop-color="#98d6fa" />
                                <stop offset="1" stop-color="#47b0f1" />
                            </linearGradient>
                            <mask height="30.51001" id="mask" maskUnits="userSpaceOnUse" node-id="52" width="24.400024"
                                x="546.39" y="542.69">
                                <path
                                    d="M 568.40 543.00 L 569.30 543.80 L 570.10 545.10 L 570.60 547.10 L 570.80 550.20 L 570.40 554.00 L 569.40 557.90 L 568.00 561.50 L 564.70 566.40 L 560.60 570.50 L 556.60 572.80 L 554.20 573.20 L 553.30 572.90 L 552.40 572.10 L 551.60 570.80 L 551.20 569.00 L 551.00 566.00 L 551.30 562.50 L 552.10 559.00 L 553.30 555.80 L 556.60 550.30 L 560.80 545.80 L 565.00 543.10 L 566.40 542.80 L 568.40 543.00 Z"
                                    fill="#ffffff" fill-rule="evenodd" id="path-28" node-id="54" stroke="none"
                                    target-height="30.400024" target-width="19.799988" target-x="551"
                                    target-y="542.8" />
                            </mask>
                        </defs>
                        <g node-id="382">
                            <g node-id="383">
                                <path d="M 0.00 0.00 L 1024.00 0.00 L 1024.00 1024.00 L 0.00 1024.00 Z" fill="#ffffff"
                                    fill-opacity="0" fill-rule="nonzero" group-id="1,2" id="矩形" node-id="58"
                                    stroke="none" target-height="1024" target-width="1024" target-x="0" target-y="0" />
                                <g node-id="384">
                                    <g node-id="388">
                                        <path
                                            d="M 76.80 581.80 L 72.00 559.40 L 67.80 535.60 L 64.20 506.80 L 62.30 480.30 L 62.10 458.20 L 62.40 447.00 L 63.20 435.80 L 64.40 424.60 L 66.10 413.40 L 68.20 402.50 L 71.00 391.90 L 73.40 384.00 L 76.20 376.30 L 79.30 368.90 L 82.80 361.80 L 86.70 354.80 L 91.00 348.20 L 95.70 341.90 L 100.90 335.90 L 106.50 330.30 L 112.60 325.10 L 119.20 320.30 L 126.40 315.90 L 132.30 312.90 L 138.70 310.10 L 145.40 307.60 L 152.70 305.40 L 160.40 303.50 L 178.10 300.10 L 194.90 297.30 L 210.70 295.10 L 226.70 293.30 L 256.00 290.80 L 277.20 289.70 L 333.40 287.30 L 356.00 285.50 L 366.40 284.30 L 376.70 282.60 L 386.60 280.50 L 396.00 278.00 L 402.90 275.70 L 409.70 273.00 L 416.30 270.00 L 422.80 266.50 L 428.90 262.70 L 435.10 258.40 L 441.10 253.50 L 464.00 232.30 L 478.40 220.40 L 490.80 211.80 L 496.90 208.20 L 502.50 205.40 L 507.70 203.20 L 513.00 201.40 L 518.20 200.10 L 528.20 198.70 L 538.70 198.50 L 546.80 199.00 L 575.60 201.60 L 582.90 201.80 L 590.30 201.50 L 597.80 200.60 L 605.20 199.20 L 612.70 197.40 L 620.20 195.20 L 634.80 189.80 L 652.30 181.60 L 662.10 176.40 L 680.00 165.80 L 708.70 147.10 L 721.40 140.90 L 730.30 137.30 L 743.60 132.90 L 759.10 128.90 L 776.30 126.10 L 785.10 125.30 L 794.30 125.10 L 803.80 125.30 L 818.10 126.90 L 832.70 130.20 L 839.80 132.50 L 847.00 135.30 L 854.30 138.60 L 861.50 142.50 L 868.40 146.90 L 875.30 151.90 L 882.20 157.70 L 889.00 164.20 L 894.10 169.60 L 904.10 182.10 L 913.90 197.00 L 922.50 213.10 L 926.70 222.20 L 930.80 232.10 L 938.20 253.20 L 944.60 276.50 L 947.60 289.50 L 950.40 303.50 L 951.90 326.90 L 954.30 374.00 L 955.10 412.60 L 954.60 442.10 L 953.90 456.60 L 952.70 470.50 L 949.70 493.80 L 948.00 503.30 L 943.80 520.90 L 941.10 529.40 L 938.10 537.40 L 934.90 544.90 L 931.30 551.80 L 928.10 557.30 L 924.60 562.30 L 921.00 567.00 L 917.10 571.30 L 907.60 580.30 L 903.20 585.10 L 899.80 589.70 L 897.10 594.00 L 894.80 598.80 L 893.20 603.30 L 892.20 607.60 L 891.80 611.70 L 891.90 616.00 L 892.40 620.00 L 893.40 624.00 L 894.90 627.80 L 898.90 635.00 L 904.30 641.60 L 908.50 645.70 L 913.10 649.40 L 918.10 652.80 L 923.30 655.80 L 928.70 658.40 L 934.10 660.60 L 939.70 662.40 L 945.10 663.80 L 953.50 665.30 L 956.00 666.20 L 958.00 667.40 L 959.50 668.90 L 960.70 670.60 L 961.60 673.10 L 962.00 676.00 L 961.80 679.40 L 961.00 683.40 L 957.90 691.30 L 955.50 695.90 L 952.30 701.00 L 947.80 707.30 L 942.40 714.10 L 935.80 721.30 L 928.90 728.20 L 921.10 735.20 L 912.30 742.40 L 903.30 749.20 L 893.60 755.80 L 883.10 762.30 L 875.00 766.80 L 858.00 775.10 L 843.70 781.10 L 836.30 783.70 L 826.40 786.80 L 810.80 791.10 L 790.70 796.10 L 769.10 800.90 L 743.80 806.00 L 717.40 810.90 L 687.90 815.70 L 657.50 820.10 L 624.90 824.20 L 602.90 826.60 L 556.90 830.60 L 509.90 833.40 L 485.90 834.20 L 461.90 834.60 L 438.00 834.50 L 414.00 834.00 L 390.10 832.90 L 366.50 831.30 L 343.20 829.10 L 325.70 827.10 L 308.60 824.60 L 291.90 821.90 L 275.50 818.70 L 259.10 815.20 L 243.20 811.20 L 227.90 806.80 L 213.00 802.00 L 204.40 798.00 L 196.20 793.60 L 188.40 788.80 L 181.00 783.70 L 173.80 778.20 L 167.00 772.40 L 160.50 766.30 L 154.40 759.90 L 146.60 751.00 L 139.40 741.80 L 132.80 732.30 L 126.60 722.50 L 120.80 712.60 L 115.60 702.60 L 110.70 692.40 L 102.20 672.40 L 96.80 657.60 L 92.20 643.60 L 88.20 629.90 L 82.20 606.10 L 76.80 581.80 Z"
                                            fill="#47b0f1" fill-opacity="0.05" fill-rule="nonzero" group-id="1,2,3,7"
                                            id="路径-58" node-id="60" stroke="none" target-height="709.5"
                                            target-width="899.9" target-x="62.1" target-y="125.1" />
                                    </g>
                                    <g node-id="389">
                                        <path
                                            d="M 158.00 329.00 L 161.10 330.60 L 162.30 331.80 L 163.80 334.70 L 164.00 336.50 L 163.70 339.50 L 163.00 341.30 L 161.80 342.80 L 160.30 344.00 L 158.50 344.70 L 156.50 345.00 L 77.50 345.00 L 75.50 344.70 L 73.70 344.00 L 72.20 342.80 L 71.00 341.30 L 70.30 339.50 L 70.00 337.50 L 70.30 334.50 L 71.00 332.70 L 72.20 331.20 L 73.70 330.00 L 75.50 329.30 L 77.50 329.00 L 109.00 329.00 L 110.90 328.70 L 112.50 328.10 L 113.90 327.00 L 115.00 325.70 L 115.70 324.10 L 116.00 322.00 L 115.70 320.10 L 115.10 318.50 L 114.00 317.10 L 112.70 316.00 L 111.10 315.30 L 109.20 315.00 L 106.00 315.00 L 104.30 314.30 L 101.70 312.20 L 100.20 309.30 L 100.00 306.50 L 100.30 304.50 L 101.00 302.70 L 102.20 301.20 L 103.70 300.00 L 105.50 299.30 L 107.50 299.00 L 186.50 299.00 L 188.50 299.30 L 190.30 300.00 L 191.80 301.20 L 193.00 302.70 L 193.70 304.50 L 194.00 307.50 L 193.70 309.50 L 193.00 311.30 L 191.80 312.80 L 190.30 314.00 L 188.50 314.70 L 186.50 315.00 L 155.00 315.00 L 153.10 315.30 L 151.50 315.90 L 150.10 317.00 L 149.00 318.30 L 148.30 319.90 L 148.00 321.80 L 148.30 323.90 L 148.90 325.50 L 150.00 326.90 L 151.30 328.00 L 152.90 328.70 L 154.80 329.00 L 158.00 329.00 Z"
                                            fill="url(#未命名的渐变_30)" fill-opacity="0.1" fill-rule="nonzero"
                                            group-id="1,2,3,8" id="形状结合" node-id="61" stroke="none" target-height="46"
                                            target-width="124" target-x="70" target-y="299" />
                                    </g>
                                    <g node-id="390">
                                        <path
                                            d="M 858.00 159.00 L 861.10 160.60 L 862.30 161.80 L 863.80 164.70 L 864.00 166.50 L 863.70 169.50 L 863.00 171.30 L 861.80 172.80 L 860.30 174.00 L 858.50 174.70 L 856.50 175.00 L 777.50 175.00 L 775.50 174.70 L 773.70 174.00 L 772.20 172.80 L 771.00 171.30 L 770.30 169.50 L 770.00 167.50 L 770.30 164.50 L 771.00 162.70 L 772.20 161.20 L 773.70 160.00 L 775.50 159.30 L 777.50 159.00 L 809.00 159.00 L 810.90 158.70 L 812.50 158.10 L 813.90 157.00 L 815.00 155.70 L 815.70 154.10 L 816.00 152.00 L 815.70 150.10 L 815.10 148.50 L 814.00 147.10 L 812.70 146.00 L 811.10 145.30 L 809.20 145.00 L 806.00 145.00 L 804.30 144.30 L 801.70 142.20 L 800.20 139.30 L 800.00 136.50 L 800.30 134.50 L 801.00 132.70 L 802.20 131.20 L 803.70 130.00 L 805.50 129.30 L 807.50 129.00 L 886.50 129.00 L 888.50 129.30 L 890.30 130.00 L 891.80 131.20 L 893.00 132.70 L 893.70 134.50 L 894.00 137.50 L 893.70 139.50 L 893.00 141.30 L 891.80 142.80 L 890.30 144.00 L 888.50 144.70 L 886.50 145.00 L 855.00 145.00 L 853.10 145.30 L 851.50 145.90 L 850.10 147.00 L 849.00 148.30 L 848.30 149.90 L 848.00 151.80 L 848.30 153.90 L 848.90 155.50 L 850.00 156.90 L 851.30 158.00 L 852.90 158.70 L 854.80 159.00 L 858.00 159.00 Z"
                                            fill="url(#未命名的渐变_30-2)" fill-opacity="0.1" fill-rule="nonzero"
                                            group-id="1,2,3,9" id="形状结合-2" node-id="62" stroke="none" target-height="46"
                                            target-width="124" target-x="770" target-y="129" />
                                    </g>
                                    <path
                                        d="M 514.50 712.00 L 547.40 712.20 L 579.20 712.90 L 610.10 714.00 L 640.90 715.50 L 670.40 717.30 L 698.60 719.50 L 726.80 722.20 L 753.30 725.20 L 778.10 728.40 L 802.90 732.10 L 825.60 735.90 L 846.30 740.00 L 859.80 740.30 L 872.70 741.10 L 885.10 742.20 L 897.50 743.80 L 909.10 745.70 L 920.00 747.90 L 930.80 750.50 L 940.60 753.40 L 949.40 756.50 L 958.20 760.10 L 965.70 763.80 L 972.20 767.60 L 976.90 770.80 L 980.80 774.10 L 984.10 777.30 L 986.80 780.60 L 989.10 784.20 L 990.70 787.80 L 991.70 791.30 L 992.00 795.00 L 991.70 798.50 L 990.80 802.00 L 989.30 805.50 L 987.10 809.00 L 984.60 812.20 L 981.50 815.30 L 977.70 818.50 L 973.30 821.70 L 967.20 825.40 L 960.00 829.00 L 951.80 832.60 L 943.30 835.70 L 934.00 838.50 L 923.80 841.20 L 913.50 843.50 L 902.40 845.40 L 890.60 847.10 L 863.20 854.20 L 847.50 857.80 L 848.00 864.00 L 847.70 868.40 L 846.90 872.70 L 845.60 877.00 L 843.80 881.20 L 841.30 885.60 L 835.40 893.40 L 827.30 901.40 L 822.40 905.30 L 816.20 909.80 L 809.20 914.10 L 801.40 918.50 L 792.60 922.80 L 784.00 926.60 L 764.50 933.90 L 742.80 940.40 L 719.50 946.00 L 706.80 948.40 L 690.00 951.20 L 672.40 953.60 L 653.80 955.50 L 635.20 956.90 L 615.90 957.70 L 596.00 958.00 L 565.00 957.30 L 550.20 956.50 L 521.10 953.80 L 507.10 952.00 L 480.70 947.60 L 467.60 944.90 L 443.60 938.90 L 421.50 931.80 L 411.30 927.90 L 401.90 924.00 L 393.30 919.90 L 384.60 915.20 L 377.00 910.50 L 370.20 905.80 L 364.40 901.10 L 359.80 896.80 L 355.80 892.50 L 352.50 888.30 L 349.80 884.10 L 347.60 879.90 L 319.60 877.50 L 293.20 874.90 L 268.30 872.00 L 243.40 868.70 L 220.40 865.10 L 199.20 861.40 L 178.00 857.20 L 159.00 852.80 L 142.00 848.40 L 129.10 844.60 L 117.70 840.90 L 107.70 837.10 L 98.80 833.50 L 91.40 830.00 L 85.10 826.50 L 79.80 823.20 L 71.50 816.90 L 68.40 813.70 L 66.00 810.60 L 64.20 807.70 L 63.00 804.80 L 62.30 801.90 L 62.00 799.00 L 62.20 796.20 L 63.00 793.30 L 64.10 790.50 L 65.90 787.60 L 68.20 784.60 L 71.20 781.50 L 74.80 778.40 L 84.30 772.00 L 90.40 768.60 L 106.10 761.50 L 115.80 757.80 L 126.80 754.10 L 139.20 750.40 L 155.60 746.00 L 174.00 741.70 L 194.50 737.50 L 215.00 733.80 L 237.30 730.20 L 261.40 726.90 L 285.50 723.90 L 311.20 721.30 L 338.30 718.80 L 393.70 715.10 L 423.30 713.80 L 483.20 712.20 L 514.50 712.00 Z"
                                        fill="url(#未命名的渐变_3)" fill-rule="nonzero" group-id="1,2,3" id="形状结合-3"
                                        node-id="63" stroke="none" target-height="246" target-width="930" target-x="62"
                                        target-y="712" />
                                    <g node-id="391">
                                        <path
                                            d="M 686.60 226.70 L 685.00 222.90 L 683.00 219.70 L 680.60 216.80 L 677.80 214.20 L 674.80 212.00 L 671.40 210.10 L 664.30 207.50 L 660.50 206.70 L 656.70 206.30 L 649.20 206.60 L 655.10 203.70 L 658.40 202.60 L 661.90 201.80 L 668.80 201.10 L 672.30 201.30 L 675.60 201.80 L 678.70 202.80 L 681.70 204.20 L 684.30 206.10 L 686.60 208.50 L 688.90 206.20 L 691.60 204.30 L 694.50 202.90 L 697.60 202.00 L 700.90 201.40 L 704.40 201.20 L 711.40 201.90 L 714.80 202.70 L 721.20 205.10 L 724.00 206.70 L 716.60 206.40 L 709.00 207.60 L 701.80 210.30 L 698.50 212.20 L 695.40 214.40 L 692.60 216.90 L 690.20 219.80 L 688.20 223.00 L 686.60 226.60 Z"
                                            fill="url(#未命名的渐变_30-3)" fill-rule="nonzero" group-id="1,2,3,10" id="路径"
                                            node-id="65" stroke="none" target-height="25.59999" target-width="74.79999"
                                            target-x="649.2" target-y="201.1" />
                                        <path
                                            d="M 770.00 214.10 L 768.90 211.50 L 765.80 207.20 L 763.90 205.50 L 761.00 203.50 L 757.90 201.90 L 754.50 200.80 L 751.00 200.10 L 747.50 199.90 L 744.10 200.20 L 747.10 198.60 L 750.50 197.40 L 754.10 196.60 L 757.70 196.30 L 760.10 196.50 L 764.50 197.50 L 768.40 199.80 L 770.00 201.50 L 771.60 199.90 L 775.50 197.60 L 779.90 196.60 L 782.40 196.40 L 786.00 196.70 L 789.60 197.40 L 793.00 198.70 L 796.00 200.30 L 792.50 200.00 L 789.10 200.20 L 785.60 200.90 L 782.20 202.00 L 779.00 203.60 L 776.10 205.60 L 773.60 208.00 L 771.60 210.80 L 770.00 214.10 Z"
                                            fill="url(#未命名的渐变_30-4)" fill-rule="nonzero" group-id="1,2,3,10" id="路径-2"
                                            node-id="66" stroke="none" target-height="17.800003"
                                            target-width="51.900024" target-x="744.1" target-y="196.3" />
                                        <path
                                            d="M 735.20 179.60 L 734.10 177.00 L 731.10 172.80 L 729.10 171.00 L 726.20 169.00 L 723.10 167.50 L 719.70 166.30 L 716.20 165.70 L 712.70 165.50 L 709.20 165.80 L 712.30 164.20 L 715.70 162.90 L 719.20 162.20 L 722.90 161.90 L 725.30 162.00 L 729.70 163.10 L 733.60 165.40 L 735.20 167.10 L 736.90 165.40 L 740.70 163.20 L 745.20 162.10 L 747.60 162.00 L 751.20 162.20 L 754.80 163.00 L 758.20 164.20 L 761.20 165.80 L 757.80 165.60 L 754.30 165.80 L 750.80 166.50 L 747.40 167.60 L 744.30 169.10 L 741.40 171.10 L 738.90 173.50 L 736.80 176.40 L 735.20 179.60 Z"
                                            fill="url(#未命名的渐变_30-5)" fill-rule="nonzero" group-id="1,2,3,10" id="路径-3"
                                            node-id="67" stroke="none" target-height="17.700012" target-width="52"
                                            target-x="709.2" target-y="161.9" />
                                        <path
                                            d="M 840.70 220.10 L 839.60 217.80 L 838.20 215.80 L 834.50 212.80 L 830.00 210.90 L 827.50 210.40 L 822.70 210.50 L 825.60 209.10 L 828.80 208.20 L 831.10 207.90 L 835.40 208.20 L 837.40 208.90 L 839.20 209.90 L 840.70 211.40 L 842.30 209.90 L 844.00 208.90 L 848.20 207.90 L 852.60 208.20 L 855.90 209.10 L 858.70 210.50 L 853.90 210.50 L 851.50 210.90 L 847.00 212.80 L 843.20 215.80 L 841.80 217.80 L 840.70 220.10 Z"
                                            fill="url(#未命名的渐变_30-6)" fill-rule="nonzero" group-id="1,2,3,10" id="路径-4"
                                            node-id="68" stroke="none" target-height="12.200012" target-width="36"
                                            target-x="822.7" target-y="207.9" />
                                    </g>
                                    <g node-id="392">
                                        <path
                                            d="M 54.20 676.40 L 45.20 672.80 L 37.80 670.50 L 31.70 669.30 L 26.70 669.00 L 22.60 669.50 L 19.20 670.50 L 16.50 672.20 L 14.20 674.30 L 12.30 677.20 L 10.90 680.70 L 10.00 685.30 L 9.70 691.00 L 10.20 698.00 L 11.70 703.70 L 13.50 708.00 L 15.60 711.10 L 17.90 713.40 L 20.40 715.00 L 27.20 723.90 L 32.40 731.50 L 36.10 738.00 L 38.60 743.70 L 40.10 748.50 L 41.40 756.90 L 42.60 761.10 L 45.40 766.40 L 47.20 768.80 L 49.40 770.90 L 51.90 772.70 L 54.90 774.30 L 58.00 775.40 L 61.60 776.10 L 65.80 776.30 L 70.00 776.00 L 74.80 775.20 L 85.30 772.40 L 89.70 771.90 L 93.70 772.20 L 97.40 773.10 L 100.80 774.80 L 104.10 777.10 L 107.30 780.30 L 110.30 784.40 L 113.10 789.70 L 115.80 796.20 L 118.20 804.30 L 122.90 809.90 L 128.10 815.10 L 133.70 819.70 L 139.90 823.80 L 146.60 827.50 L 154.00 830.70 L 162.00 833.40 L 170.70 835.50 L 180.10 837.20 L 190.50 838.20 L 201.80 838.60 L 214.00 838.30 L 227.40 837.20 L 237.40 835.80 L 245.30 834.00 L 251.30 831.90 L 255.80 829.70 L 259.20 827.30 L 261.50 824.80 L 263.10 822.10 L 263.90 819.30 L 264.00 816.10 L 263.40 812.50 L 261.80 808.40 L 259.10 803.70 L 255.00 798.10 L 249.20 791.60 L 241.20 784.10 L 230.80 775.30 L 217.40 765.20 L 204.80 760.40 L 194.80 757.10 L 178.30 752.70 L 176.00 751.40 L 174.00 749.50 L 172.20 746.90 L 170.70 743.50 L 169.50 739.00 L 168.80 733.30 L 168.20 722.40 L 167.30 719.10 L 165.70 716.00 L 163.50 713.00 L 160.50 710.30 L 156.70 707.60 L 151.70 705.20 L 139.50 700.60 L 134.80 698.10 L 131.30 695.50 L 128.80 692.70 L 127.10 689.90 L 126.20 686.80 L 125.90 683.50 L 126.40 679.80 L 123.00 675.30 L 119.60 671.90 L 116.30 669.50 L 113.00 667.80 L 109.70 666.90 L 106.20 666.70 L 102.60 667.10 L 98.70 668.30 L 94.60 670.30 L 84.80 676.90 L 80.10 679.50 L 75.70 681.10 L 71.60 682.00 L 67.90 682.20 L 64.30 681.70 L 60.80 680.60 L 57.50 678.90 L 54.20 676.40 Z"
                                            fill="url(#未命名的渐变_30-7)" fill-rule="nonzero" group-id="1,2,3,11" id="路径-61"
                                            node-id="70" stroke="none" target-height="171.89996" target-width="254.3"
                                            target-x="9.7" target-y="666.7" />
                                        <path
                                            d="M 52.60 691.50 L 100.90 723.70 L 98.80 713.80 L 96.60 705.30 L 94.40 698.20 L 91.10 689.70 L 95.50 699.40 L 98.90 708.20 L 101.70 717.30 L 102.60 721.60 L 102.90 725.10 L 143.10 751.90 L 143.60 737.90 L 143.40 727.70 L 142.70 720.50 L 141.70 715.60 L 142.40 717.00 L 144.00 723.60 L 145.70 737.50 L 146.10 746.60 L 145.70 753.60 L 182.70 778.30 L 182.30 777.80 L 183.10 769.80 L 183.20 762.80 L 182.60 756.40 L 183.70 760.00 L 184.50 766.40 L 184.90 773.70 L 184.90 779.70 L 215.40 800.10 L 211.50 804.00 L 180.00 781.70 L 174.00 784.40 L 165.90 786.40 L 161.50 786.90 L 154.10 786.90 L 160.70 786.10 L 166.20 784.90 L 170.60 783.40 L 174.20 781.70 L 177.00 779.80 L 179.50 781.40 L 90.70 718.50 L 91.30 719.10 L 83.20 720.00 L 75.70 720.10 L 68.60 719.60 L 62.00 718.50 L 55.80 716.80 L 57.00 716.50 L 65.80 718.00 L 70.40 718.50 L 76.10 718.80 L 84.30 718.10 L 88.90 717.20 Z M 94.00 768.40 L 98.00 768.20 L 102.50 767.40 L 107.50 765.90 L 113.20 763.60 L 119.70 760.20 L 127.00 755.80 L 135.20 750.10 L 137.40 752.30 L 131.90 756.30 L 126.50 759.70 L 121.30 762.40 L 115.90 764.80 L 110.90 766.50 L 106.20 767.70 L 101.50 768.40 L 97.50 768.60 L 94.00 768.40 Z"
                                            fill="url(#未命名的渐变_13)" fill-rule="nonzero" group-id="1,2,3,11" id="形状结合-4"
                                            node-id="71" stroke="none" target-height="114.29999"
                                            target-width="162.79999" target-x="52.6" target-y="689.7" />
                                        <path
                                            d="M 89.60 607.30 L 81.20 601.90 L 74.10 598.20 L 68.30 595.90 L 63.50 594.60 L 59.50 594.20 L 56.20 594.40 L 53.50 595.30 L 51.10 596.80 L 49.10 598.80 L 47.40 601.60 L 46.00 605.20 L 45.00 610.00 L 44.60 616.10 L 44.80 623.80 L 50.10 645.00 L 52.00 654.30 L 53.10 662.40 L 53.50 667.70 L 53.40 672.80 L 52.70 680.50 L 52.90 687.50 L 54.40 695.10 L 57.40 703.20 L 59.50 707.20 L 62.20 711.20 L 65.20 715.00 L 68.90 718.60 L 73.20 722.10 L 80.40 726.60 L 84.70 728.70 L 96.70 733.40 L 102.10 736.30 L 106.10 739.20 L 108.90 742.10 L 110.70 745.00 L 111.70 748.00 L 112.00 751.10 L 111.50 754.50 L 110.10 758.20 L 107.70 762.40 L 107.20 766.30 L 107.40 770.00 L 108.30 773.60 L 109.90 777.10 L 112.40 780.60 L 115.90 784.00 L 120.50 787.50 L 126.50 791.00 L 134.00 794.50 L 143.40 798.00 L 155.00 801.40 L 169.00 804.70 L 185.90 807.70 L 198.10 809.50 L 208.20 810.50 L 222.60 811.00 L 227.90 810.70 L 235.60 809.40 L 239.20 808.20 L 241.90 806.90 L 244.00 805.40 L 245.60 803.80 L 246.80 801.80 L 247.60 799.70 L 248.10 797.40 L 248.10 794.80 L 247.60 791.40 L 246.60 787.60 L 244.90 783.30 L 241.90 777.00 L 238.00 770.00 L 229.00 755.60 L 223.40 749.70 L 219.50 744.70 L 217.20 741.30 L 214.00 735.30 L 212.50 730.90 L 211.50 726.60 L 211.10 722.30 L 211.20 714.70 L 212.70 703.90 L 212.90 700.10 L 212.60 696.30 L 211.10 691.40 L 209.70 689.00 L 207.90 686.90 L 205.50 684.70 L 202.40 682.60 L 199.00 680.90 L 194.70 679.20 L 185.30 676.40 L 181.90 674.70 L 178.80 672.40 L 176.00 669.50 L 173.40 665.90 L 171.20 661.50 L 169.30 656.30 L 167.80 650.00 L 166.70 642.50 L 166.10 633.60 L 165.20 630.30 L 163.80 627.60 L 161.90 625.30 L 159.40 623.50 L 156.20 622.00 L 152.20 621.00 L 147.30 620.60 L 141.10 620.80 L 133.50 621.80 L 124.10 623.80 L 120.20 624.30 L 116.20 624.10 L 112.10 623.30 L 108.00 621.80 L 103.70 619.50 L 99.20 616.50 L 94.50 612.40 L 89.60 607.30 Z"
                                            fill="url(#未命名的渐变_30-8)" fill-rule="nonzero" group-id="1,2,3,11" id="路径-65"
                                            node-id="72" stroke="none" target-height="216.79999" target-width="203.5"
                                            target-x="44.6" target-y="594.2" />
                                        <path
                                            d="M 74.90 624.70 L 110.40 669.80 L 112.10 665.10 L 113.30 660.40 L 113.90 655.70 L 114.10 650.90 L 113.70 646.10 L 112.70 641.00 L 115.50 650.00 L 116.10 653.60 L 116.20 657.40 L 115.70 661.80 L 115.00 664.80 L 112.10 672.00 L 142.10 710.20 L 144.90 705.70 L 147.10 701.00 L 148.90 695.80 L 150.20 690.00 L 151.00 683.60 L 151.30 676.40 L 152.00 682.20 L 151.90 686.40 L 151.50 691.60 L 150.50 696.90 L 149.10 702.50 L 147.70 706.10 L 144.10 712.70 L 170.80 746.50 L 173.00 742.50 L 175.50 736.10 L 176.30 732.40 L 176.60 728.40 L 177.10 734.60 L 176.90 738.00 L 175.30 744.00 L 172.70 749.00 L 212.00 799.00 L 205.80 799.00 L 167.80 748.50 L 159.00 751.60 L 150.20 753.20 L 145.90 753.40 L 141.90 753.10 L 138.80 752.40 L 134.00 750.70 L 138.90 751.60 L 143.80 751.80 L 149.00 751.30 L 154.30 750.20 L 159.90 748.40 L 165.70 745.70 L 136.80 707.30 L 137.30 708.20 L 130.00 710.40 L 122.90 712.10 L 115.90 713.30 L 109.40 713.90 L 103.10 713.90 L 97.70 713.40 L 94.20 712.80 L 89.00 710.90 L 92.70 712.00 L 97.30 712.60 L 102.60 712.70 L 109.00 712.20 L 116.60 710.90 L 125.50 708.70 L 136.00 705.40 L 135.50 705.50 L 103.40 662.70 L 103.50 663.20 L 97.40 663.20 L 91.80 662.60 L 86.70 661.30 L 82.00 659.30 L 77.60 656.80 L 73.50 653.60 L 69.70 649.70 L 70.20 649.70 L 71.50 650.40 L 78.00 654.90 L 81.50 656.80 L 85.40 658.40 L 93.60 660.30 L 101.80 660.70 Z"
                                            fill="url(#未命名的渐变_13-2)" fill-rule="nonzero" group-id="1,2,3,11" id="形状结合-5"
                                            node-id="73" stroke="none" target-height="174.29999" target-width="142.3"
                                            target-x="69.7" target-y="624.7" />
                                        <path
                                            d="M 199.20 608.80 L 203.10 603.90 L 206.50 600.60 L 209.70 598.50 L 212.60 597.40 L 215.30 597.00 L 217.90 597.30 L 220.60 598.40 L 223.30 600.40 L 226.20 603.50 L 229.30 607.90 L 232.60 614.00 L 233.70 619.30 L 235.70 635.20 L 237.40 640.00 L 238.80 642.10 L 240.60 644.10 L 243.10 646.20 L 245.90 647.90 L 249.60 649.70 L 259.20 653.50 L 262.80 655.70 L 265.40 658.10 L 267.20 660.70 L 268.40 663.60 L 268.80 666.80 L 268.60 670.50 L 267.40 674.80 L 265.30 679.80 L 261.80 685.70 L 260.30 689.90 L 259.80 693.40 L 260.00 696.40 L 260.90 699.00 L 262.40 701.30 L 264.70 703.30 L 268.00 705.10 L 275.30 707.60 L 277.40 709.00 L 278.90 710.80 L 279.90 712.90 L 280.30 715.50 L 280.10 718.80 L 279.00 723.00 L 276.80 728.20 L 273.30 734.70 L 268.10 742.80 L 265.90 748.50 L 264.70 753.10 L 264.30 756.80 L 264.50 759.90 L 265.30 762.30 L 266.40 764.30 L 270.50 768.00 L 274.90 773.10 L 278.10 778.90 L 279.30 782.20 L 280.30 785.90 L 280.90 790.20 L 281.00 794.50 L 280.60 799.30 L 279.60 804.90 L 278.10 810.30 L 275.70 816.40 L 272.40 823.40 L 270.30 827.00 L 265.70 832.40 L 263.40 834.50 L 259.80 836.80 L 256.20 838.40 L 252.40 839.40 L 248.50 839.90 L 244.50 839.90 L 240.50 839.40 L 236.60 838.50 L 228.90 835.70 L 223.40 832.90 L 218.40 829.60 L 213.90 825.90 L 210.30 822.30 L 208.20 819.60 L 205.60 815.00 L 204.50 811.70 L 203.90 808.30 L 203.70 804.80 L 204.00 799.40 L 207.20 778.30 L 207.40 773.70 L 207.20 770.80 L 206.60 768.30 L 205.60 766.00 L 202.50 762.60 L 200.20 760.90 L 187.20 753.40 L 179.80 748.20 L 174.90 742.90 L 173.00 739.90 L 171.50 736.50 L 170.60 732.60 L 170.30 729.70 L 171.00 722.70 L 172.00 718.50 L 179.60 708.10 L 183.00 703.00 L 184.70 698.40 L 185.00 693.20 L 183.80 686.80 L 182.30 682.90 L 177.40 673.00 L 170.90 661.70 L 170.50 660.10 L 170.50 658.40 L 171.20 656.40 L 174.40 651.00 L 180.20 642.10 L 183.50 638.30 L 187.00 633.30 L 190.80 626.90 L 194.90 618.80 L 199.20 608.80 Z"
                                            fill="url(#未命名的渐变_30-9)" fill-rule="nonzero" group-id="1,2,3,11" id="路径-96"
                                            node-id="74" stroke="none" target-height="242.90002" target-width="110.7"
                                            target-x="170.3" target-y="597" />
                                        <path
                                            d="M 216.10 638.50 L 227.50 695.40 L 233.00 686.90 L 237.40 679.40 L 240.90 672.80 L 244.60 664.50 L 240.90 674.40 L 237.00 683.00 L 232.60 691.40 L 230.10 695.10 L 228.00 697.80 L 237.40 745.20 L 247.60 735.60 L 254.70 728.30 L 259.30 722.70 L 262.10 718.50 L 260.00 722.80 L 258.00 725.80 L 249.40 736.80 L 243.20 743.60 L 238.00 748.20 L 246.70 791.80 L 246.70 791.30 L 252.90 786.10 L 258.00 781.30 L 262.00 776.30 L 260.30 779.60 L 256.30 784.80 L 251.50 790.20 L 247.10 794.40 L 254.30 830.40 L 248.90 830.40 L 242.40 792.30 L 236.20 790.00 L 229.10 785.70 L 225.60 782.90 L 220.40 777.80 L 225.70 781.80 L 230.40 784.80 L 234.50 786.90 L 238.30 788.20 L 241.70 788.90 L 242.30 791.80 L 224.00 684.50 L 223.90 685.40 L 217.60 680.20 L 212.20 675.00 L 207.60 669.70 L 203.70 664.20 L 200.50 658.60 L 201.50 659.20 L 206.70 666.60 L 209.60 670.20 L 213.50 674.40 L 219.70 679.70 L 223.60 682.30 Z M 191.00 722.10 L 193.90 724.80 L 197.70 727.40 L 202.30 729.90 L 208.00 732.30 L 214.90 734.50 L 223.20 736.50 L 233.00 738.30 L 233.00 741.40 L 226.30 740.30 L 220.10 738.90 L 214.50 737.20 L 209.00 735.00 L 204.20 732.70 L 200.10 730.30 L 196.30 727.40 L 193.30 724.70 L 191.00 722.10 Z"
                                            fill="url(#未命名的渐变_13-3)" fill-rule="nonzero" group-id="1,2,3,11" id="形状结合-6"
                                            node-id="75" stroke="none" target-height="191.90002"
                                            target-width="71.100006" target-x="191" target-y="638.5" />
                                    </g>
                                    <g node-id="393">
                                        <path
                                            d="M 938.40 787.50 L 939.00 780.20 L 938.80 774.20 L 937.90 769.00 L 936.50 764.80 L 934.50 761.20 L 932.10 758.30 L 929.10 755.80 L 925.50 753.90 L 921.20 752.50 L 916.00 751.60 L 921.00 751.40 L 925.50 751.60 L 929.70 752.30 L 933.60 753.30 L 937.10 754.70 L 940.60 756.50 L 943.70 758.70 L 946.50 761.20 L 949.00 764.00 L 951.20 767.30 L 952.90 770.70 L 954.30 774.30 L 955.40 778.40 L 956.10 782.70 L 956.40 787.50 L 938.40 787.50 Z"
                                            fill="url(#未命名的渐变_30-10)" fill-rule="nonzero" group-id="1,2,3,12" id="路径-38"
                                            node-id="77" stroke="none" target-height="36.099976"
                                            target-width="40.400024" target-x="916" target-y="751.4" />
                                        <path
                                            d="M 950.10 787.60 L 951.30 780.50 L 951.70 774.10 L 951.40 768.20 L 950.60 762.80 L 949.10 757.80 L 947.10 753.20 L 944.40 749.00 L 941.20 745.10 L 937.30 741.40 L 932.70 738.00 L 937.90 739.70 L 947.20 743.90 L 951.40 746.40 L 955.40 749.40 L 959.00 752.80 L 963.80 758.90 L 965.90 762.60 L 969.50 771.00 L 972.30 781.40 L 973.40 787.60 L 965.60 788.00 L 950.10 787.60 Z"
                                            fill="url(#未命名的渐变_30-11)" fill-rule="nonzero" group-id="1,2,3,12" id="路径-39"
                                            node-id="78" stroke="none" target-height="50" target-width="40.700012"
                                            target-x="932.7" target-y="738" />
                                        <path
                                            d="M 977.10 788.00 L 976.70 781.10 L 977.10 775.30 L 978.10 770.30 L 979.60 766.00 L 981.60 762.30 L 984.10 759.20 L 987.10 756.60 L 990.70 754.40 L 995.00 752.60 L 1000.00 751.40 L 990.20 751.40 L 986.90 751.70 L 980.20 753.10 L 977.00 754.40 L 973.80 756.20 L 970.50 758.50 L 967.50 761.30 L 964.40 764.90 L 961.30 769.50 L 958.60 774.40 L 955.80 780.50 L 953.00 788.00 L 968.30 787.70 L 977.10 788.00 Z"
                                            fill="url(#未命名的渐变_30-12)" fill-rule="nonzero" group-id="1,2,3,12" id="路径-40"
                                            node-id="79" stroke="none" target-height="36.599976" target-width="47"
                                            target-x="953" target-y="751.4" />
                                        <path
                                            d="M 927.40 802.00 L 942.70 801.50 L 948.50 800.20 L 951.00 799.10 L 953.10 797.60 L 954.70 795.70 L 955.70 794.10 L 956.80 789.60 L 957.00 786.60 L 956.70 782.70 L 955.90 779.00 L 954.60 775.50 L 952.80 772.20 L 950.70 769.10 L 948.10 766.40 L 945.10 764.00 L 941.90 761.90 L 938.40 760.20 L 934.60 759.00 L 930.70 758.30 L 926.50 758.00 L 922.30 758.30 L 918.40 759.00 L 914.60 760.20 L 911.10 761.90 L 907.90 764.00 L 904.90 766.40 L 902.30 769.10 L 900.20 772.20 L 898.40 775.50 L 897.10 779.00 L 896.30 782.70 L 896.00 786.60 L 896.20 789.60 L 897.50 794.00 L 898.50 795.70 L 900.40 797.60 L 902.60 799.10 L 905.40 800.20 L 911.60 801.50 L 927.40 802.00 Z"
                                            fill="url(#未命名的渐变_30-13)" fill-rule="nonzero" group-id="1,2,3,12" id="椭圆形"
                                            node-id="80" stroke="none" target-height="44" target-width="61"
                                            target-x="896" target-y="758" />
                                        <path
                                            d="M 960.60 802.00 L 971.10 801.60 L 975.30 800.20 L 977.60 798.10 L 978.30 796.70 L 979.00 792.60 L 978.70 789.40 L 977.80 786.40 L 976.40 783.70 L 974.50 781.30 L 972.30 779.20 L 969.60 777.40 L 966.70 776.10 L 963.50 775.30 L 960.00 775.00 L 956.50 775.30 L 953.30 776.10 L 950.40 777.40 L 947.70 779.20 L 945.50 781.20 L 943.60 783.70 L 942.20 786.40 L 941.30 789.40 L 941.00 792.60 L 941.20 794.90 L 941.80 796.70 L 942.60 798.10 L 945.10 800.20 L 949.70 801.60 L 960.60 802.00 Z"
                                            fill="url(#未命名的渐变_30-14)" fill-rule="nonzero" group-id="1,2,3,12"
                                            id="椭圆形备份-6" node-id="81" stroke="none" target-height="27" target-width="38"
                                            target-x="941" target-y="775" />
                                    </g>
                                </g>
                                <g node-id="385">
                                    <path
                                        d="M 613.30 674.00 L 625.90 661.40 L 628.20 659.40 L 633.40 656.40 L 639.10 654.90 L 642.20 654.70 L 645.20 654.90 L 651.00 656.40 L 656.10 659.40 L 737.60 740.60 L 739.70 743.00 L 741.40 745.50 L 743.60 751.00 L 744.20 753.90 L 744.20 759.80 L 742.70 765.50 L 741.40 768.20 L 739.70 770.70 L 737.60 773.10 L 725.00 785.70 L 722.60 787.80 L 717.40 790.80 L 711.60 792.30 L 705.80 792.30 L 700.10 790.80 L 694.90 787.80 L 692.50 785.70 L 611.30 704.20 L 609.60 701.80 L 607.30 696.20 L 606.50 690.30 L 606.80 687.20 L 608.30 681.50 L 611.30 676.30 L 613.30 674.00 Z"
                                        fill="url(#未命名的渐变_30-15)" fill-rule="nonzero" group-id="1,2,4" id="矩形-2"
                                        node-id="83" stroke="none" target-height="137.59998" target-width="137.70001"
                                        target-x="606.5" target-y="654.7" />
                                    <path
                                        d="M 523.00 381.00 L 532.90 381.30 L 542.60 382.10 L 552.10 383.40 L 561.50 385.10 L 570.60 387.40 L 579.60 390.20 L 588.40 393.30 L 597.00 396.90 L 605.30 401.00 L 613.30 405.40 L 621.20 410.30 L 628.70 415.60 L 636.00 421.10 L 642.90 427.10 L 649.60 433.40 L 655.90 440.10 L 661.90 447.00 L 667.40 454.30 L 672.70 461.80 L 677.60 469.70 L 682.00 477.70 L 686.10 486.00 L 689.70 494.60 L 692.80 503.40 L 695.60 512.40 L 697.90 521.50 L 699.60 530.90 L 700.90 540.40 L 701.70 550.10 L 702.00 560.00 L 701.70 569.90 L 700.90 579.60 L 699.60 589.10 L 697.90 598.50 L 695.60 607.60 L 692.80 616.60 L 689.70 625.40 L 686.10 634.00 L 682.00 642.30 L 677.60 650.30 L 672.70 658.20 L 667.40 665.70 L 661.90 673.00 L 655.90 679.90 L 649.60 686.60 L 642.90 692.90 L 636.00 698.90 L 628.70 704.40 L 621.20 709.70 L 613.30 714.60 L 605.30 719.00 L 597.00 723.10 L 588.40 726.70 L 579.60 729.80 L 570.60 732.60 L 561.50 734.90 L 552.10 736.60 L 542.60 737.90 L 532.90 738.70 L 523.00 739.00 L 513.10 738.70 L 503.40 737.90 L 493.90 736.60 L 484.50 734.90 L 475.40 732.60 L 466.40 729.80 L 457.60 726.70 L 449.00 723.10 L 440.70 719.00 L 432.70 714.60 L 424.80 709.70 L 417.30 704.40 L 410.00 698.90 L 403.10 692.90 L 396.40 686.60 L 390.10 679.90 L 384.10 673.00 L 378.60 665.70 L 373.30 658.20 L 368.40 650.30 L 364.00 642.30 L 359.90 634.00 L 356.30 625.40 L 353.20 616.60 L 350.40 607.60 L 348.10 598.50 L 346.40 589.10 L 345.10 579.60 L 344.30 569.90 L 344.00 560.00 L 344.30 550.10 L 345.10 540.40 L 346.40 530.90 L 348.10 521.50 L 350.40 512.40 L 353.20 503.40 L 356.30 494.60 L 359.90 486.00 L 364.00 477.70 L 368.40 469.70 L 373.30 461.80 L 378.60 454.30 L 384.10 447.00 L 390.10 440.10 L 396.40 433.40 L 403.10 427.10 L 410.00 421.10 L 417.30 415.60 L 424.80 410.30 L 432.70 405.40 L 440.70 401.00 L 449.00 396.90 L 457.60 393.30 L 466.40 390.20 L 475.40 387.40 L 484.50 385.10 L 493.90 383.40 L 503.40 382.10 L 513.10 381.30 L 523.00 381.00 Z M 523.00 425.00 L 513.70 425.30 L 504.60 426.20 L 495.70 427.70 L 487.10 429.80 L 478.60 432.50 L 470.40 435.60 L 462.50 439.30 L 454.90 443.40 L 447.50 448.10 L 440.50 453.10 L 433.80 458.60 L 427.50 464.50 L 421.60 470.80 L 416.10 477.50 L 411.10 484.50 L 406.40 491.90 L 402.30 499.50 L 398.60 507.40 L 395.50 515.60 L 392.80 524.10 L 390.70 532.70 L 389.20 541.60 L 388.30 550.70 L 388.00 560.00 L 388.30 569.30 L 389.20 578.40 L 390.70 587.30 L 392.80 595.90 L 395.50 604.40 L 398.60 612.60 L 402.30 620.50 L 406.40 628.10 L 411.10 635.50 L 416.10 642.50 L 421.60 649.20 L 427.50 655.50 L 433.80 661.40 L 440.50 666.90 L 447.50 671.90 L 454.90 676.60 L 462.50 680.70 L 470.40 684.40 L 478.60 687.50 L 487.10 690.20 L 495.70 692.30 L 504.60 693.80 L 513.70 694.70 L 523.00 695.00 L 532.30 694.70 L 541.40 693.80 L 550.30 692.30 L 558.90 690.20 L 567.40 687.50 L 575.60 684.40 L 583.50 680.70 L 591.10 676.60 L 598.50 671.90 L 605.50 666.90 L 612.20 661.40 L 618.50 655.50 L 624.40 649.20 L 629.90 642.50 L 634.90 635.50 L 639.60 628.10 L 643.70 620.50 L 647.40 612.60 L 650.50 604.40 L 653.20 595.90 L 655.30 587.30 L 656.80 578.40 L 657.70 569.30 L 658.00 560.00 L 657.70 550.70 L 656.80 541.60 L 655.30 532.70 L 653.20 524.10 L 650.50 515.60 L 647.40 507.40 L 643.70 499.50 L 639.60 491.90 L 634.90 484.50 L 629.90 477.50 L 624.40 470.80 L 618.50 464.50 L 612.20 458.60 L 605.50 453.10 L 598.50 448.10 L 591.10 443.40 L 583.50 439.30 L 575.60 435.60 L 567.40 432.50 L 558.90 429.80 L 550.30 427.70 L 541.40 426.20 L 532.30 425.30 L 523.00 425.00 Z"
                                        fill="url(#未命名的渐变_30-16)" fill-rule="nonzero" group-id="1,2,4" id="形状结合-7"
                                        node-id="84" stroke="none" target-height="358" target-width="358" target-x="344"
                                        target-y="381" />
                                    <path
                                        d="M 750.80 478.70 L 758.00 477.90 L 758.80 483.50 L 759.70 485.50 L 760.90 487.20 L 762.50 488.70 L 764.30 489.90 L 766.30 490.60 L 768.40 490.90 L 776.10 490.10 L 777.90 489.50 L 781.10 487.30 L 783.40 484.00 L 784.30 480.20 L 783.80 476.40 L 782.00 472.90 L 780.60 471.50 L 777.30 469.50 L 773.50 468.80 L 767.90 469.40 L 767.00 462.30 L 773.90 461.60 L 777.10 461.90 L 780.10 462.80 L 783.00 464.20 L 785.60 466.10 L 787.80 468.50 L 789.60 471.30 L 790.80 474.30 L 791.50 477.40 L 791.60 480.60 L 791.20 483.70 L 790.10 486.90 L 788.50 489.80 L 786.50 492.20 L 784.00 494.30 L 781.30 495.90 L 778.30 497.00 L 775.00 497.50 L 768.50 498.10 L 765.80 497.80 L 763.20 497.10 L 760.70 496.00 L 758.40 494.60 L 756.40 492.80 L 754.60 490.80 L 753.10 488.50 L 752.00 485.90 L 744.50 486.80 L 743.60 479.60 L 750.80 478.70 Z M 740.00 480.10 L 740.90 487.20 L 733.70 488.10 L 732.80 481.00 Z"
                                        fill="url(#未命名的渐变_30-17)" fill-rule="nonzero" group-id="1,2,4" id="问号"
                                        node-id="85" stroke="none" target-height="36.5" target-width="58.799988"
                                        target-x="732.8" target-y="461.6" />
                                    <path
                                        d="M 718.80 441.10 L 722.50 437.40 L 725.60 440.20 L 726.90 441.00 L 729.90 441.60 L 731.50 441.40 L 734.30 440.20 L 738.70 435.70 L 739.60 433.80 L 740.00 431.70 L 739.80 429.60 L 739.00 427.60 L 737.70 425.90 L 736.10 424.60 L 734.10 423.80 L 731.90 423.60 L 729.80 424.00 L 727.90 424.90 L 724.50 428.20 L 720.80 424.50 L 724.40 421.00 L 726.30 419.80 L 728.50 418.90 L 730.80 418.40 L 733.10 418.30 L 735.50 418.60 L 737.80 419.40 L 739.80 420.60 L 741.60 422.10 L 743.10 423.90 L 744.20 425.90 L 745.00 428.20 L 745.40 430.50 L 745.30 432.90 L 744.80 435.10 L 743.90 437.30 L 742.60 439.20 L 741.00 441.00 L 737.60 444.20 L 734.10 446.00 L 732.20 446.50 L 728.30 446.60 L 724.50 445.60 L 722.70 444.60 L 718.80 448.50 L 715.10 444.80 L 718.80 441.10 Z M 713.30 446.70 L 716.90 450.40 L 713.20 454.10 L 709.50 450.40 Z"
                                        fill="url(#未命名的渐变_30-18)" fill-rule="nonzero" group-id="1,2,4" id="问号-2"
                                        node-id="86" stroke="none" target-height="35.80002" target-width="35.900024"
                                        target-x="709.5" target-y="418.3" />
                                </g>
                                <g node-id="386">
                                    <path
                                        d="M 456.10 829.50 L 462.30 831.70 L 466.00 833.40 L 469.40 835.80 L 470.30 837.70 L 470.10 838.70 L 469.60 839.60 L 468.40 840.90 L 458.80 846.90 L 456.60 848.70 L 455.30 850.30 L 454.30 852.10 L 453.90 853.80 L 454.60 857.10 L 456.70 860.30 L 458.90 862.70 L 463.40 866.40 L 471.90 870.30 L 477.10 872.20 L 491.70 876.30 L 508.90 879.80 L 529.50 882.60 L 540.70 883.60 L 552.80 884.20 L 564.90 884.40 L 577.50 884.10 L 590.80 883.30 L 610.80 881.00 L 631.60 877.20 L 641.40 874.80 L 649.90 872.40 L 663.20 867.60 L 669.60 864.80 L 674.80 862.00 L 679.00 859.20 L 682.30 856.60 L 685.60 853.50 L 688.00 850.60 L 689.80 847.80 L 691.00 845.00 L 691.90 842.10 L 692.20 839.20 L 692.10 836.40 L 691.60 833.70 L 690.40 830.20 L 688.70 826.80 L 686.40 823.50 L 683.70 820.50 L 677.50 815.20 L 672.80 812.40 L 665.20 808.60 L 656.40 805.00 L 645.10 800.90 L 632.90 797.10 L 618.50 793.30 L 608.60 791.10 L 586.50 787.20 L 575.10 785.60 L 563.10 784.40 L 550.50 783.60 L 537.90 783.20 L 524.90 783.40 L 511.50 784.00 L 499.50 785.00 L 480.40 787.30 L 464.50 790.30 L 458.60 791.80 L 448.40 795.30 L 445.00 796.90 L 441.90 798.80 L 439.90 800.50 L 437.20 804.60 L 435.20 809.60 L 434.80 812.10 L 434.90 814.40 L 435.60 816.70 L 436.80 818.90 L 438.90 821.10 L 441.90 823.40 L 445.30 825.30 L 449.90 827.30 L 456.10 829.50 Z"
                                        fill="url(#未命名的渐变_23)" fill-opacity="0.4" fill-rule="nonzero" group-id="1,2,5"
                                        id="路径-5" node-id="87" stroke="none" target-height="101.20001"
                                        target-width="257.40002" target-x="434.8" target-y="783.2" />
                                </g>
                                <g node-id="387">
                                    <path
                                        d="M 507.20 830.50 L 501.70 835.00 L 500.40 837.30 L 500.30 838.80 L 500.70 840.90 L 502.60 844.90 L 504.10 846.60 L 505.60 847.70 L 522.60 853.80 L 531.80 856.00 L 534.80 856.20 L 538.20 855.80 L 539.30 855.30 L 540.30 854.20 L 540.80 852.90 L 540.70 851.40 L 540.20 849.90 L 537.70 846.30 L 533.70 843.00 L 524.20 837.80 L 510.10 831.30 Z"
                                        fill="#333333" fill-rule="nonzero" group-id="1,2,6" id="路径-6" node-id="89"
                                        stroke="none" target-height="25.700012" target-width="40.5" target-x="500.3"
                                        target-y="830.5" />
                                    <path
                                        d="M 585.30 775.70 L 584.90 782.80 L 585.60 785.20 L 586.60 786.40 L 588.40 787.50 L 592.80 788.90 L 595.00 789.00 L 596.80 788.50 L 612.80 780.30 L 620.70 775.00 L 622.90 773.00 L 625.00 770.30 L 625.30 769.10 L 625.20 767.60 L 624.50 766.40 L 623.40 765.40 L 621.90 764.80 L 617.60 764.20 L 612.40 764.80 L 602.20 768.30 L 587.90 774.10 Z"
                                        fill="#333333" fill-rule="nonzero" group-id="1,2,6" id="路径-7" node-id="90"
                                        stroke="none" target-height="24.799988" target-width="40.399963"
                                        target-x="584.9" target-y="764.2" />
                                    <path
                                        d="M 598.00 770.20 L 598.00 758.90 L 597.10 738.80 L 596.10 729.20 L 593.50 713.20 L 591.80 705.70 L 589.90 699.60 L 588.00 694.70 L 586.10 691.10 L 584.40 688.30 L 582.70 686.40 L 577.00 681.00 L 572.60 677.50 L 567.90 674.40 L 563.40 671.80 L 554.80 667.80 L 546.10 664.80 L 505.00 685.10 L 526.70 695.20 L 539.80 701.90 L 553.50 709.50 L 566.20 717.60 L 567.50 727.40 L 568.90 734.40 L 570.70 740.80 L 576.30 756.00 L 578.70 761.40 L 585.60 775.00 L 586.20 775.90 L 587.10 776.60 L 588.30 776.90 L 590.40 776.90 L 592.70 776.40 L 594.90 775.40 L 596.60 774.00 L 597.50 772.80 L 598.00 771.60 L 598.00 770.20 Z"
                                        fill="url(#未命名的渐变_25)" fill-rule="nonzero" group-id="1,2,6" id="路径-8"
                                        node-id="91" stroke="none" target-height="112.10004" target-width="93"
                                        target-x="505" target-y="664.8" />
                                    <path
                                        d="M 537.00 694.30 L 537.40 710.70 L 536.90 724.20 L 535.90 736.20 L 532.40 768.20 L 531.10 776.40 L 527.80 793.40 L 518.00 835.60 L 517.40 837.30 L 516.60 838.50 L 515.60 839.40 L 512.90 840.20 L 511.40 840.20 L 509.10 839.70 L 506.80 838.70 L 504.80 837.20 L 503.30 835.40 L 502.20 832.60 L 502.80 798.20 L 502.30 770.50 L 499.90 738.20 L 497.00 676.50 L 534.80 671.80 Z"
                                        fill="url(#未命名的渐变_25-2)" fill-rule="nonzero" group-id="1,2,6" id="路径-9"
                                        node-id="92" stroke="none" target-height="168.40002" target-width="40.400024"
                                        target-x="497" target-y="671.8" />
                                    <path
                                        d="M 512.80 538.10 L 515.40 538.60 L 517.80 539.60 L 520.00 541.00 L 522.00 542.80 L 523.90 545.60 L 523.80 545.10 L 524.40 545.60 L 525.00 546.70 L 525.40 550.00 L 526.30 550.10 L 527.20 550.90 L 527.70 552.00 L 528.00 553.50 L 527.80 555.00 L 526.50 557.00 L 524.10 557.80 L 521.00 562.70 L 518.00 565.80 L 518.00 571.90 L 506.00 572.00 L 506.00 564.90 L 503.50 562.00 L 502.30 559.90 L 501.30 557.70 L 501.60 557.70 L 499.90 557.60 L 497.90 556.50 L 497.20 555.10 L 497.00 553.50 L 497.30 551.90 L 498.50 550.10 L 499.90 550.10 L 500.40 546.40 L 501.50 544.00 L 503.00 541.80 L 504.30 540.50 L 505.80 539.50 L 509.20 538.20 L 512.80 538.10 Z"
                                        fill="#ebb0b0" fill-rule="nonzero" group-id="1,2,6" id="形状结合-8" node-id="93"
                                        stroke="none" target-height="33.900024" target-width="31" target-x="497"
                                        target-y="538.1" />
                                    <path
                                        d="M 524.60 551.00 L 526.00 549.20 L 527.10 546.60 L 527.80 543.80 L 528.00 540.60 L 527.40 536.50 L 525.60 533.10 L 524.20 531.70 L 521.60 530.10 L 520.40 529.60 L 517.20 529.30 L 514.20 529.80 L 511.30 527.90 L 508.40 527.00 L 505.50 527.30 L 501.90 528.30 L 500.40 529.00 L 497.10 532.20 L 495.20 535.00 L 493.90 538.20 L 493.10 541.50 L 493.00 544.10 L 493.40 546.30 L 494.20 548.30 L 497.70 554.00 L 499.50 552.10 L 502.10 547.30 L 504.50 545.00 L 507.20 543.00 L 510.20 541.50 L 515.80 541.00 L 518.70 541.60 L 520.90 543.20 L 523.10 546.50 Z"
                                        fill="#131322" fill-rule="nonzero" group-id="1,2,6" id="路径-10" node-id="94"
                                        stroke="none" target-height="27" target-width="35" target-x="493"
                                        target-y="527" />
                                    <path
                                        d="M 533.50 483.30 L 532.30 479.10 L 531.70 474.90 L 531.70 470.50 L 532.60 468.90 L 533.00 468.70 L 533.20 469.10 L 533.30 470.30 L 535.70 467.80 L 537.10 467.10 L 538.70 466.80 L 540.80 467.10 L 542.20 467.60 L 545.90 470.40 L 546.80 475.30 L 546.80 478.30 L 546.20 481.40 L 545.50 483.40 L 543.00 486.80 L 541.20 487.70 L 539.40 487.90 L 537.70 487.30 L 535.70 485.90 L 533.50 483.30 Z"
                                        fill="#efba9e" fill-rule="nonzero" group-id="1,2,6" id="路径-109" node-id="95"
                                        stroke="none" target-height="21.100006" target-width="15.099976"
                                        target-x="531.7" target-y="466.8" />
                                    <path
                                        d="M 515.00 575.40 L 518.90 568.60 L 523.40 557.80 L 527.10 545.00 L 528.80 537.90 L 531.60 519.70 L 532.50 509.90 L 533.10 498.60 L 533.20 485.70 L 533.80 483.30 L 535.50 480.20 L 536.70 479.10 L 539.30 477.90 L 541.40 477.60 L 543.60 477.80 L 547.50 479.10 L 551.60 510.20 L 553.40 528.80 L 554.40 548.10 L 554.50 557.50 L 554.30 565.90 L 553.10 576.20 L 552.30 580.30 L 551.00 584.20 L 549.60 587.00 L 548.00 589.00"
                                        fill="url(#未命名的渐变_27)" fill-rule="nonzero" group-id="1,2,6" id="路径-11"
                                        node-id="96" stroke="none" target-height="111.399994" target-width="39.5"
                                        target-x="515" target-y="477.6" />
                                    <path
                                        d="M 505.20 567.00 L 509.60 568.90 L 512.80 569.50 L 515.10 569.40 L 516.80 568.70 L 518.00 567.30 L 527.20 567.80 L 530.60 568.50 L 536.80 570.80 L 541.70 574.00 L 543.90 576.00 L 546.10 578.60 L 548.00 581.60 L 549.60 587.10 L 552.60 602.20 L 554.60 619.90 L 555.20 638.00 L 555.00 646.40 L 553.90 656.70 L 552.10 664.40 L 550.90 667.40 L 547.70 672.40 L 544.90 675.30 L 541.80 677.70 L 538.30 679.80 L 534.50 681.40 L 530.30 682.70 L 525.80 683.70 L 518.90 684.60 L 511.40 684.90 L 496.00 684.20 L 492.50 678.80 L 487.50 668.30 L 484.60 660.50 L 479.40 643.50 L 477.30 634.60 L 475.60 625.90 L 474.40 617.30 L 473.90 609.70 L 473.90 604.70 L 474.30 600.50 L 475.00 597.00 L 476.90 591.80 L 479.20 587.10 L 482.10 582.80 L 485.50 578.90 L 489.40 575.40 L 494.00 572.20 L 499.20 569.40 L 505.20 567.00 Z"
                                        fill="url(#未命名的渐变_27-2)" fill-rule="nonzero" group-id="1,2,6" id="路径-2-2"
                                        node-id="97" stroke="none" target-height="117.900024" target-width="81.30002"
                                        target-x="473.9" target-y="567" />
                                    <path
                                        d="M 545.00 617.00 L 539.30 614.10 L 537.90 612.70 L 536.90 611.00 L 536.40 609.00 L 532.50 576.90 L 532.60 575.80 L 533.10 574.80 L 533.90 574.00 L 535.10 573.60 L 537.50 574.20 L 538.90 575.20 L 539.80 576.60 L 540.30 578.30 L 545.00 617.00 Z"
                                        fill="url(#未命名的渐变_30-19)" fill-rule="nonzero" group-id="1,2,6" id="路径-12"
                                        node-id="98" stroke="none" target-height="43.400024" target-width="12.5"
                                        target-x="532.5" target-y="573.6" />
                                    <path
                                        d="M 527.90 597.60 L 529.10 593.40 L 530.90 589.50 L 533.30 585.80 L 534.90 584.90 L 535.30 585.00 L 535.40 585.50 L 534.80 586.50 L 538.10 585.70 L 539.70 585.90 L 541.20 586.50 L 542.80 587.90 L 543.70 589.10 L 545.30 593.40 L 543.40 598.10 L 541.70 600.60 L 539.60 602.80 L 537.90 604.10 L 533.90 605.60 L 531.90 605.40 L 530.30 604.60 L 529.10 603.10 L 528.30 600.90 L 527.90 597.60 Z"
                                        fill="#efba9e" fill-rule="nonzero" group-id="1,2,6" id="路径-109-2" node-id="99"
                                        stroke="none" target-height="20.699951" target-width="17.399963"
                                        target-x="527.9" target-y="584.9" />
                                    <path
                                        d="M 488.20 589.30 L 491.60 591.20 L 495.50 595.00 L 498.60 600.30 L 499.90 603.40 L 502.20 612.30 L 502.80 617.30 L 503.00 623.40 L 502.90 630.70 L 529.00 596.40 L 531.40 597.40 L 533.10 598.50 L 534.20 599.70 L 535.60 602.80 L 535.90 604.50 L 535.30 609.90 L 534.00 615.00 L 517.00 652.20 L 515.20 654.90 L 513.40 656.90 L 511.60 658.30 L 507.60 660.20 L 502.80 660.80 L 496.00 659.90 L 493.80 659.20 L 491.40 657.80 L 487.20 654.00 L 485.50 651.80 L 479.60 641.70 L 475.90 633.10 L 474.50 628.30 L 472.60 617.70 L 472.10 611.60 L 472.10 602.70 L 473.00 597.90 L 474.00 595.30 L 475.50 592.70 L 476.80 591.20 L 478.40 590.00 L 480.30 589.10 L 482.40 588.60 L 485.00 588.70 L 488.20 589.30 Z"
                                        fill="url(#未命名的渐变_29)" fill-rule="nonzero" group-id="1,2,6" id="路径-13"
                                        node-id="100" stroke="none" target-height="72.20001" target-width="63.80002"
                                        target-x="472.1" target-y="588.6" />
                                    <path
                                        d="M 553.40 543.00 L 541.90 562.20 L 530.70 569.00 L 530.20 570.80 L 530.10 572.60 L 530.50 574.40 L 531.40 576.00 L 532.40 577.00 L 533.40 577.70 L 536.30 578.70 L 547.60 573.10 L 568.50 572.90 Z"
                                        fill="url(#未命名的渐变_30-20)" fill-rule="nonzero" group-id="1,2,6" id="_Path_"
                                        node-id="101" stroke="none" target-height="35.700012" target-width="38.400024"
                                        target-x="530.1" target-y="543" />
                                    <g node-id="394">
                                        <g node-id="395">
                                            <path
                                                d="M 553.40 543.00 L 552.40 543.80 L 551.70 545.10 L 551.20 547.10 L 551.00 550.20 L 551.40 554.00 L 552.30 557.90 L 553.80 561.50 L 557.10 566.40 L 561.10 570.50 L 565.20 572.80 L 567.50 573.20 L 568.50 572.90 L 569.40 572.10 L 570.10 570.80 L 570.60 569.00 L 570.80 566.00 L 570.40 562.50 L 569.60 559.00 L 568.50 555.80 L 565.10 550.30 L 560.90 545.80 L 556.80 543.10 L 555.40 542.80 L 553.40 543.00 Z"
                                                fill="#98d6fa" fill-rule="evenodd" group-id="1,2,6,13,14" id="path-28-2"
                                                node-id="104" stroke="none" target-height="30.400024"
                                                target-width="19.799988" target-x="551" target-y="542.8" />
                                        </g>
                                        <path
                                            d="M 548.50 560.70 L 555.60 557.00 L 557.10 556.50 L 558.60 556.70 L 560.00 557.40 L 561.00 558.60 L 561.40 560.10 L 561.30 561.70 L 560.60 563.00 L 559.30 564.00 L 552.30 567.80 L 550.80 568.20 L 549.20 568.10 L 547.80 567.30 L 546.90 566.10 L 546.40 564.60 L 546.60 563.10 L 547.30 561.70 L 548.50 560.70 Z"
                                            fill="#ffffff" fill-rule="evenodd" group-id="1,2,6,13,15" node-id="380"
                                            stroke="none" target-height="11.700012" target-width="15" target-x="546.4"
                                            target-y="556.5" />
                                    </g>
                                    <path
                                        d="M 564.70 545.40 L 569.30 536.90 L 571.50 540.90 L 582.10 531.30 L 570.30 544.20 L 569.10 541.00 L 564.70 545.40 Z"
                                        fill="#98d6fa" fill-rule="evenodd" group-id="1,2,6" id="路径-110" node-id="107"
                                        stroke="none" target-height="14.100037" target-width="17.399963"
                                        target-x="564.7" target-y="531.3" />
                                    <path
                                        d="M 572.30 559.10 L 580.80 554.70 L 580.40 559.40 L 594.60 557.50 L 577.50 561.40 L 578.40 558.00 L 572.30 559.10 Z"
                                        fill="#98d6fa" fill-rule="evenodd" group-id="1,2,6" id="路径-110-2" node-id="108"
                                        stroke="none" target-height="6.700012" target-width="22.299988" target-x="572.3"
                                        target-y="554.7" />
                                </g>
                            </g>
                        </g>
                    </svg>
                    <p class="text-gray-600 text-sm dark:text-white">待我穿越时空门，帮你把数据找出来...</p>
                </div>
                <!-- Modal footer -->
                <div class="flex items-center p-4 md:p-5 border-t border-gray-200 rounded-b dark:border-gray-600">
                    <!-- Esc 退出提示 -->
                    <span
                        class="px-2 py-[1px] flex-none border rounded dark:text-gray-400 dark:border-gray-600">Esc</span>
                    <span class="text-gray-400 ml-2">关闭</span>

                    <!-- 底层技术介绍 -->
                    <span class="ml-auto text-gray-600 dark:text-gray-400">基于 <a href="https://lucene.apache.org/"
                            target="_blank" class="underline text-gray-600 dark:text-gray-400">Apache Lucene</a>
                        全文检索引擎开发</span>
                </div>
            </div>
        </div>
    </div>

    <!-- 用户登录 -->
    <!-- Main modal -->
    <div id="authentication-modal" tabindex="-1" aria-hidden="true"
        class="hidden overflow-y-auto overflow-x-hidden fixed top-0 right-0 left-0 z-50 justify-center items-center w-full md:inset-0 h-[calc(100%-1rem)] max-h-full">
        <div class="relative p-4 w-full max-w-md max-h-full">
            <!-- Modal content -->
            <div class="relative bg-white rounded-lg shadow dark:bg-gray-700">
                <!-- Modal header -->
                <div class="flex items-center justify-between p-4 md:p-5 border-b rounded-t dark:border-gray-600">
                    <h3 class="text-xl text-center align-middle font-semibold text-gray-800 dark:text-gray-400">
                        <img :src="blogSettingsStore.blogSettings.miniLogo" class="h-10 mr-2 inline"
                            alt="wjblog Logo" />
                        账号密码登录
                    </h3>
                    <button type="button" @click="loginModal.hide()"
                        class="end-2.5 text-gray-400 bg-transparent hover:bg-gray-200 hover:text-gray-900 rounded-lg text-sm w-8 h-8 ms-auto inline-flex justify-center items-center dark:hover:bg-gray-600 dark:hover:text-white"
                        data-modal-hide="authentication-modal">
                        <svg class="w-3 h-3" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" fill="none"
                            viewBox="0 0 14 14">
                            <path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
                                d="m1 1 6 6m0 0 6 6M7 7l6-6M7 7l-6 6" />
                        </svg>
                        <span class="sr-only">Close modal</span>
                    </button>
                </div>
                <!-- Modal body -->
                <div class="p-4 md:p-5">
                    <!-- 引入 Element Plus 表单组件，移动端设置宽度为 5/6，PC 端设置为 2/5 -->
                    <el-form class="space-y-4" ref="formRef" :rules="rules" :model="loginForm">
                        <el-form-item prop="username">
                            <!-- 输入框组件 -->
                            <label for="email"
                                class="block mb-2 text-sm font-semibold text-gray-900 dark:text-gray-300">用户名</label>
                            <el-input size="large" v-model="loginForm.username" placeholder="请输入用户名" :prefix-icon="User"
                                clearable />
                        </el-form-item>
                        <el-form-item prop="password">
                            <!-- 密码框组件 -->
                            <label for="password"
                                class="block mb-2 text-sm font-semibold text-gray-900 dark:text-gray-300">密码</label>
                            <el-input size="large" type="password" v-model="loginForm.password" placeholder="请输入密码"
                                :prefix-icon="Lock" clearable show-password />
                        </el-form-item>

                        <div class="flex justify-between">
                            <div class="flex items-start">
                                <div class="flex items-center h-5">
                                    <input id="remember" type="checkbox" value=""
                                        class="w-4 h-4 border border-gray-300 rounded bg-gray-50 focus:ring-3 focus:ring-blue-300 dark:bg-gray-600 dark:border-gray-500 dark:focus:ring-blue-600 dark:ring-offset-gray-800 dark:focus:ring-offset-gray-800"
                                        required />
                                </div>
                                <label for="remember"
                                    class="ms-2 text-sm font-medium text-gray-900 dark:text-gray-300">记住我</label>
                            </div>
                            <a @click="userArtificial"
                                class="text-sm text-blue-700 hover:underline dark:text-blue-500">忘记密码?</a>
                        </div>
                        <el-form-item>
                            <!-- 登录按钮，宽度设置为 100% -->
                            <el-button class="w-full mt-2 dark:text-gray-100" size="large" type="primary"
                                :loading="loading" @click="userLogin">登录</el-button>
                        </el-form-item>
                        <!-- <button type="submit" @click="userLogin"
                            class="w-full text-white bg-sky-600 font-medium hover:bg-sky-700 focus:ring-4 focus:outline-none focus:ring-sky-300 font-medium rounded-lg text-sm px-5 py-2.5 text-center dark:bg-sky-500 dark:hover:bg-sky-600 dark:focus:ring-sky-800">
                            登录
                        </button> -->
                        <div class="text-sm font-medium text-gray-500 dark:text-gray-300">
                            没有账户? <a @click="registerUser"
                                class="text-blue-700 hover:underline dark:text-blue-500">注册账户</a>
                        </div>
                    </el-form>
                </div>
            </div>
        </div>
    </div>
</template>

<script setup>
import { onMounted, ref, onBeforeUnmount, watch } from 'vue'
import { Dropdown, initCollapses, initDropdowns, initModals } from 'flowbite'
import { useRouter, useRoute } from 'vue-router';
import { Modal } from 'flowbite'
import { useUserStore } from '@/stores/user'
import { useBlogSettingsStore } from '@/stores/blogsettings';
import { showMessage, showModel } from '@/composables/utils';
import { getToken, setToken } from '@/composables/auth';
import { getArticlePageList } from '@/api/frontend/article';
import { getArticleSearchPageList } from '@/api/frontend/search';
import { useDark, useToggle } from '@vueuse/core';
import { login } from '@/api/frontend/user';
import { ElMessage } from 'element-plus';
import { User, Lock, Checked } from '@element-plus/icons-vue'
// 路由
const router = useRouter()
const route = useRoute()
const userArtificial = () => {
    showModel(
        "请以【找回密码+用户名】作为邮件标题，内容至少包括用户名，绑定的手机号，QQ号，邮箱（如未绑定可省略），新密码等个人信息，信息越完整成功概率越高，发送邮件至weijianhuawen@163.com，我们将在15个工作日内将处理结果通过邮件告知您！",
        "null",
        "联系管理员",
        true
    ).then(() => {
        console.log("找回密码")
    }).catch(() => {
        console.log("找回密码")
    })
}

onBeforeUnmount(() => {
    // 在组件销毁前移除事件监听器，防止内存泄漏
    window.removeEventListener('keydown', handleKeyDown);
})
const blogSettingsStore = useBlogSettingsStore()

const confirmLogin = () => {
    let tmpUserStore = useUserStore()
    let tk = Object.keys(tmpUserStore.userInfo)
    let token = getToken()
    return tk.length > 0 || token
}
// 是否登录，通过 userStore 中的 userInfo 对象是否有数据来判断
const userStore = useUserStore()
// 获取 userInfo 对象所有属性名称的数组
const keys = Object.keys(userStore.userInfo)
// 若大于零，则表示用户已登录
const isLogined = ref(keys.length > 0)  

// 退出登录
const exitLogin = () => {
    userStore.exitLogin()
    // 标记为未登录
    isLogined.value = false
    showMessage("退出登录成功！", 'warning')    
}

// userinfo初始化
const initUserInfo = () => {
    // 获取token 如果token为空 且 useinfo 未更新 更新相关字段
    let token = getToken()
    if (!token) {
        userStore.exitLogin()
        isLogined.value = false
    } else {
        isLogined.value = true
    }
}
initUserInfo()

const currPath = ref(route.path)

// 初始化 flowbit Modal组件
const searchModal = ref(null)
const loginModal = ref(null)
const exitLoginModal = ref(null)
const modalOptions = {
    placement: 'center-center', // 弹框位置
    backdrop: 'dynamic',
    backdropClasses:
        'bg-gray-900/50 dark:bg-gray-900/80 fixed inset-0 z-40',
    closable: true,
    onHide: () => {
        console.log('modal is hidden');
    },
    onShow: () => {
        console.log('modal is shown');
    },
    onToggle: () => {
        console.log('modal has been toggled');
    },
};

// instance options object
const searchInstanceOptions = {
  id: 'search-modal',
  override: true
};
const loginInstanceOptions = {
  id:'authentication-modal',
  override: true
};
const popupInstanceOptions = {
  id:'popup-modal',
  override: true
}

// 初始化 flowbit 相关组件
onMounted(() => {
    initCollapses();
    // initDropdowns();
    // initModals();

    // 初始化
    const $searchModalElement = document.querySelector('#search-modal');
    const $loginModalElement = document.querySelector('#authentication-modal');
    const $pupupModalElement = document.querySelector('#popup-modal');
    // 判断用户是否登录
    isLogined.value = confirmLogin()
   
    exitLoginModal.value = new Modal($pupupModalElement, modalOptions, popupInstanceOptions);
    searchModal.value = new Modal($searchModalElement, modalOptions, searchInstanceOptions);
    loginModal.value = new Modal($loginModalElement, modalOptions, loginInstanceOptions);
    // 注册键盘事件监听器
    window.addEventListener('keydown', handleKeyDown);
})

const searchInputRef = ref(null)
// 键盘监听
const handleKeyDown = (event) => {
    // 检查是否按下了 Ctrl 键和 K 键
    if (event.ctrlKey && event.key === 'k') {
        // 阻止激活浏览器本身的搜索框
        event.preventDefault()
        console.log('ctrl k 被按了')

        searchModal.value.show()
        // 激活搜索框
        searchInputRef.value.focus()
    }
}

// 点击登录
const clickUserLoginBtn = () => {
    // 显示登录输入框
    loginModal.value.show()
}

// 点击注册
const clickUserRegisterBtn = () => {
    // 检查用户登录情况
    if (confirmLogin()) {
        // 已登录
        showMessage("您已登录！", 'warning')
        // 跳转到当前页面
        router.push({ path: route.path })
    } else {
        // 跳转到注册页
        router.push({ path: '/user/register' })
    }
}

// 点击搜索框
const clickSearchBtn = () => {
	// 显示搜索弹框
    searchModal.value.show()
    // 点击搜索框 激活搜索框
    searchInputRef.value.focus()
}

const clickExitLoginBtn = () => {
    // 显示退出登录弹框
    exitLoginModal.value.show()
}

// 确认退出登录
const confirmExitLogin = () => {
    // 关闭退出登录弹框
    exitLoginModal.value.hide()
    // 退出登录
    exitLogin()
}

const registerUser = () => {
    // 关闭登录弹框
    loginModal.value.hide()
    // 跳转到注册页面
    router.push({ path: '/user/register' })
}

// 登录表单
const loginForm = ref({
    username: '',
    password: ''
})
//登录加载按钮
const loading = ref(false)
const formRef = ref(null)
//表单验证规则
const rules = {
    username: [
        {
            required: true,
            message: "用户账号不能为空！",
            trigger: "blur"
        }
    ],
    password: [
        {
            required: true,
            message: "密码不能为空！",
            trigger: "blur"
        }
    ]
}

const userLogin = () => {
    console.log("用户登录")
    //先验证表单字段是否合法
    formRef.value.validate((valid) => {
        if (!valid) {
            console.log("表单验证参数不合法")
            return false
        }
        //开始加载
        loading.value = true
        let params = {
            "username": loginForm.value.username,
            "password": loginForm.value.password
        }
        login(params).then((res) => {
            if (res.success == true) {
                //提示登录成功
                showMessage("您好！" + loginForm.value.username + "，登录成功！")
                //将token保存到cookie
                let token = res.data.token
                setToken(token)
                //获取用户信息
                userStore.setUserInfo()
                // 设置为登录状态
                isLogined.value = true
                // 关闭登录弹框
                loginModal.value.hide()
            } else {
                //提示登录失败
                let message = res.message
                ElMessage({
                    message: message,
                    type: "error"
                })
            }
        }).finally(() => {
            //结束加载
            loading.value = false
        })
    })
}

// 搜索数据
const searchArticles = ref([])
// 当前页码
const current = ref(1)
// 单页数据量
const size = ref(5)
// 一共多少页
const pages = ref(0)
// 搜索关键词
const searchWord = ref('')
// 总数据量
const total = ref(0)

// 监听token
watch(() => getToken(), (newValue, oldValue) => {
    if (newValue && newValue!== oldValue) {
        // 登录状态发生变化，重新初始化 userStore
        console.log("用户登录")
        initUserInfo()
    } else if (newValue == false) {
        // 退出登录，重置用户信息
        console.log("退出登录")
        initUserInfo()
    }
})

// 监听userInfo
watch(() => {
    let tmp = useUserStore()
    return tmp.userInfo
}, (newValue, oldValue) => {
    isLogined.value = confirmLogin()
})

// 监听关键词变化
watch(searchWord, (newText, oldText) => {
    if (newText && newText !== oldText) {
        // 如果关键词不为空，且与上一次不一样，发起请求
        let params = {
            'current': current.value,
            'size': size.value,
            'word': newText
        }
        renderSearchArticles(params)
    } else if (newText == '') {
        //重置结果
        searchArticles.value = []
    }
})
const searchLoading = ref(false)
// 请求后台搜索
const renderSearchArticles = (params) => {
    // 显示加载条
    searchLoading.value = true
    // 发送搜索请求
    getArticleSearchPageList(params).then((res) => {
        if (res.success == true) {
            searchArticles.value = res.data
            current.value = res.pageIndex
            size.value = res.size
            pages.value = res.pages
            total.value = res.total
        } else {
            showMessage(res.message, 'error')
        }
    }).finally(() => searchLoading.value = false)
}
// 下一页
const nextPage = () => {
    let params = {
        'current': current.value + 1,
        'size': size.value,
        'word': searchWord.value
    }
    renderSearchArticles(params)
}
// 上一页
const prePage = () => {
    let params = {
        'current': current.value - 1,
        'size': size.value,
        'word': searchWord.value
    }
    renderSearchArticles(params)
}
// 跳转文章详情页
const goArticleDetail = (id) => {
    // 隐藏搜索对话框
    searchModal.value.hide()
    router.push('/article/detail/' + id)
}

const isDark = useDark()
const toggleDark = useToggle(isDark)
</script>

<style scoped>
.vt-switch {
    --vt-c-divider-light-1: rgba(60, 60, 60, .29);
    --vt-c-divider: var(--vt-c-divider-light-1);
    --vt-c-white-mute: #f1f1f1;
    --vt-c-bg-mute: var(--vt-c-white-mute);
    position: relative;
    border-radius: 11px;
    display: block;
    width: 40px;
    height: 22px;
    flex-shrink: 0;
    border: 1px solid var(--vt-c-divider);
    background-color: var(--vt-c-bg-mute);
    transition: border-color .25s, background-color .25s;
}

.dark .vt-switch {
    --vt-c-white-mute: #f1f1f1;
    background-color: #2f2f2f;
    transition: border-color .25s, background-color .25s;
}

.vt-switch-check {
    --vt-c-white: #ffffff;
    --vt-shadow-1: 0 1px 2px rgba(0, 0, 0, .04), 0 1px 2px rgba(0, 0, 0, .06);
    position: absolute;
    top: 1px;
    left: 1px;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background-color: var(--vt-c-white);
    box-shadow: var(--vt-shadow-1);
    transition: background-color .25s, transform .25s;
}

.dark .vt-switch-appearance .vt-switch-check {
    transform: translate(18px);
}

.dark .vt-switch-check {
    --vt-c-black: #1a1a1a;
    background-color: var(--vt-c-black);
}

.vt-switch-icon {
    position: relative;
    display: block;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    overflow: hidden;
}

.vt-switch-icon svg {
    position: absolute;
    top: 3px;
    left: 3px;
    width: 12px;
    height: 12px;
    fill: rgba(60, 60, 60, .7);
}

.dark .vt-switch-icon svg {
    fill: rgba(255, 255, 255, .87);
    transition: opacity .25s;
}

.dark .vt-switch-appearance-moon {
    opacity: 1;
}

.vt-switch-appearance-sun {
    opacity: 1;
}
</style>